DreamCat 发表于 2005-2-6 20:45:12

两个月前一个朋友要这个,怕密码被改。我做的这个只是当通过webadmin修改密码(即使没改)的时候通过email发送到指定信箱。建议收发使用相同的信箱,我用126.com做的试验。这种方法的缺点就是如果使用者对shell熟悉就没用了。必须配合 mail.tgz 使用:在 chpasswd.cgi的第 67 行插入如下语句:

CODE
#send password to administrator's mailbox. /etc/mail.confif [ -z "$RECIVER_MAIL" ]; then        RECIVER_MAIL=$SENDER_MAILfiif [ "$INETTYPE" = "ETHERNET_STATIC" ]; then        INET_IP=${IPADDR}fiif [ "$INETTYPE" = "PPPOE" -o "$INETTYPE" = "PPP" ]; then ????NET_IP=`getifaddr ppp0`fi> /tmp/sendmail.tmpecho "IP: ${INET_IP} ?: New Password: ${FORM_NEWPASS1}" > /tmp/sendmail.tmpMAILSEND="`/usr/bin/mail to $RECIVER_MAIL`"sleep 4rm /tmp/sendmail.tmp 2>null
mail.cfg 文件配置说明

CODE
SMTP_SERVER='smtp.126.com' ???126.com 的SMTP服务器SENDER_MAIL='huayuliang@126.com' 你在这个服务器上的账号。不能用其他的,不然认为是欺骗性的邮件。SENDER_NAME='Coyote Linux Administrator' 发送者DEFAULT_SUBJECT='e-mail sent by Coyote Linux' 邮件主题DEFAULT_BODY_FILE='/tmp/sendmail.tmp' 这个就不要改了,如果要改,和上面的保持一致DEFAULT_ATTACH_FILE=''          附件,我还没做。DO_AUTH_LOGIN='YES' ????????现在几乎所有国内的信箱都要求登录才能发信AUTH_USER='你的发信信箱的账号'AUTH_PASSWORD='你的发信信箱密码'DEBUG_MODE='NO'
此外,我发现CL现在的add-on的文件结构有些混乱。我重新做了个,必须使用下面这个,或者你自己改,不然会出错的。CL 的profile当中没有指定 /usr/sbin 作为默认的程序执行目录。而这个mail.tgz的结构却是这样。应该改为 /usr/bin。我还发现 mail 用的 base64 和 ipupdate.tgz 用的b64是同一个文件。莫名其妙的。既然 base64 这么常用,干脆集成进去算了,还弄的每个add-on 使用不同的结构。再者,一般而言shell 文件应该有个扩展名:.sh,也是乱糟糟的。原始的 mail.list 文件:

CODE
/usr/sbin/mail/usr/sbin/base64/etc/mail.conf/var/lib/lrpkg/mail*
我调整后的:

CODE
/usr/bin/mail/usr/bin/base64/etc/mail.conf/var/lib/lrpkg/mail*
可以先做好,然后用的时候写入软盘即可。稍后有可能会送出完整的两个文件。

DreamCat 发表于 2005-2-6 21:11:43

补充一点,CL当中必须设置DNS,不然没法发信。

sblive 发表于 2005-2-6 21:28:45

MAIL.TGZ哪有下的?SENDER_MAIL='huayuliang@126.com' 你在这个服务器上的账号。不能用其他的,不然认为是欺骗性的邮件。帐号?CL似乎不能改帐号啊

DreamCat 发表于 2005-2-7 01:33:28

mail.tgz 在论坛的国外资源链接里面有,claudio的站点上的。SENDER_MAIL='huayuliang@126.com'这是个例子,是我在 126.com上的账号,或者说email地址。两种表述方式而已,你当地址好了。就是发送者的email地址。有些email服务器也把这个称作email账号,登录的时候要输入全称email地址作为账号,我也糊涂了。
页: [1]
查看完整版本: 送上承诺了许久的东东。CL用的发送root密码的。