您现在的位置:软界网技术中心网络管理Mail服务器 > 技术显示
基于QMail的SMTP用户验证设置指南(下)
2007-4-7 10:09:39   网友评论       阅读次数5 点此评论
   

安装和基本配置:

  cd QMail-1.03
  make setup check
  ./config-fast playease.com
  cd ~alias
  touch .QMail-postmaster .QMail-mailer-daemon .QMail-root
  chmod 644 ~alias/.QMail*
  echo "127.0.0.1:allow,RELAYCLIENT=""" > /etc/tcp.SMTP

  下面这一条setuid:
  chmod 4755 /bin/checkpassword
  cp /var/QMail/boot/home /var/QMail/rc
  修改/var/QMail/rc把./Mailbox 改成./Maildir/ 使用Maildir;

  启动QMail:

  csh -cf "/var/QMail/rc &"

  然后启动SMTP服务

  使用第一种补丁:

  tcpserver -H -R -l 0 -t 1 -c 100 -x /etc/tcp.SMTP.cdb -u 507 -g 502 0 SMTP
  /var/QMail/bin/QMail-SMTPd playease.com /bin/checkpassword /bin/true /bin/md5checkpw /bin/true &

  使用第二种补丁:

  把playease.com去掉。

  这样,基于系统用户的SMTP验证就完成了~

  然后我们开始做基于vpopmail的:


  groupadd vchkpw
  useradd -g vchkpw -d /vmail vpopmail 我把vpopmail的安装目录设在/vmail中。
  su vpopmail
  mkdir ~vpopmail/etc
  echo "127.0.01.:allow,RELAYCLIENT=""" > ~vpopmail/etc/tcp.SMTP
  ./configure --help
  ./configure --enable-default-domain=playease.com
  make
  make install-strip
  cd ~vpopmail/bin
  ./vadddomain playease.com
  ./vadduser dawn@playease.com

  这样就添加了一个用户

  chmod 6755 /vmail/bin/vchkpw 这样是setuid

  以下是启动SMTP服务:

  使用第一种补丁:

  tcpserver -H -R -l 0 -t 1 -c 100 -x /etc/tcp.SMTP.cdb -u 507 -g 502 0 SMTP
  /var/QMail/bin/QMail-SMTPd playease.com /vmail/bin/vchkpw /bin/true /bin/md5checkpw /bin/true &

  使用第二种补丁:

  把playease.com去掉。


  启动pop3服务:

  tcpserver -H -R 0 pop-3 /var/QMail/bin/QMail-popup playease.com /vmail/bin/vchkpw
  /var/QMail/bin/QMail-pop3d Maildir &
  使用mysql等其它模块验证时不影响。 至此大功告成。

三、 要注意的问题:

  1. 在上面的实践中我用playease.com做为例子域名,用dawn作为例子用户名,替换成你自己的域名就可以了。

  2. 第二个要注意的是基于vpopmail多域名的情况我没有测试,请大家自己测试,理论上应该没有问题。

  3. 我的系统设置了搜索路径所以我直接用tcpserver,一盘的系统需要使用/usr/local/bin/tcpserver的方式来写

  4. 我的vpopmail安装在/vmail中,大家要注意写vchkpw的路径。

  5. 我这儿的507、502分别是QMaild的uid和gid,你要换成你自己的。

  6. 以上操作在redhat7.1下检验通过。

 
      来源: 作者:
 
【评论查看】
document.write("");