为Qmail增加smtp用户认证功能(3)

来源:asp之家 时间:2010-03-13 19:16:00 

3. 在 /usr/ports/mail/vpopmail/下面增加 files 目录,并建立下面两个 patch 文件

文件patch-aa,内容如下:

   +++ vmysql.h
    27c27
    #define MYSQL_PASSWD gipgap
    ---
    #define MYSQL_PASSWD mypassword
 
    文件 patch-bb,内容如下:
    +++ vchkpw.c
    310a311
   
    311a313
   
    313a316,317
    #ifdef AUTH_VCHKPW
   
    359a364,365
   
    #endif

然后make -D WITHOUT_ROAMING -D WITH_MYSQL DEFAULT_DOMAIN=sczg.net,重新编译拷贝新的vchkpw到qmail的bin目录。

4.设置 /bin/checkpassword 或 /home/vpopmail/bin/vchkpw 可以SetUID和SetGID。这点很重要,否则认证无法通过。这是因为smtpd 的进程是由qmaild 执行的。而密码验证程序原来只使用于pop3进程,分别由root或vpopmail执行,为的是读shadow或数据库中的密码,并取出用户的邮件目录。这些操作qmaild 都没有权限去做。如果smtp进程要调用密码验证程序,则必须要使用 setuid 和setgid 。其实这点大可放心,这两个密码验证程序都是带源代码的,本身非常安全,只需要放在安全的目录里就可以了(设置其他用户除qmaild 可执行外都没有权限执行;其实如果没有其他SHELL帐户,也就不用这么麻烦了)。

chmod 4755 /bin/checkpassword 或

chmod 4755 /home/vpopmail/bin/vchkpw 使用vpopmail。

5.测试.如果使用的是vpopmail,要把下面的 /bin/checkpassword 换成 /home/vpopmail/bin/vchkpw 。

#su - qmaild -c /var/qmail/bin/qmail-popup localhost /bin/checkpassword pwd〈回车

+OK ,〈18789.978689240@localhost

user realuser〈回车

+OK

pass password〈回车

如果结果显示的是用户目录,说明成功了;如果显示-ERR authorization failed,除检查   密码外,还要检查用户上级的各个目录是否可读,还有密码验证程序的权限是否设置正确。

6. 把 smtp 的 tcpserver 命名改为:

    /usr/local/bin/tcpserver -H -R -l 0 -t 1 -c 100 -x/etc/tcp.smtp.cdb -u604 -g601
    0 smtp /var/qmail/bin/qmail-smtpd /bin/checkpassword /bin/true 21
   | /var/qmail/bin/splogger smtpd 3

或者是


    /usr/local/bin/tcpserver -H -R -l 0 -t 1 -c 100 -x/etc/tcp.smtp.cdb -u604 -g601
    0 smtp /var/qmail/bin/qmail-smtpd /usr/local/vpopmail/bin/vchkpw
    21 | /var/qmail/bin/splogger smtpd 3

注:/usr/local/vpopmail/bin/vchkpw是重新编译的。以上的全在一行。重新启动所有的qmail进程。

标签:qmail,smtp,用户认证
0
投稿

猜你喜欢

  • 弄清Google Adsense规则 避免账号被封

    2008-10-09 08:54:00
  • 浅谈流量少的原因及解决方法

    2009-11-06 11:06:00
  • 中国网民2/3玩游戏 未来每年以20%递增

    2009-11-27 12:50:00
  • 用Discuz!7.0打造兴趣类社区 北京飞度车友会聚人气

    2009-08-12 11:46:00
  • IIS7.0在Vista系统下安装注意事项

    2008-10-03 12:23:00
  • 使用Windows Server 2003搭建安全文件服务器

    2010-05-31 18:53:00
  • 周新宁:中国旅游业网站逐步升温

    2008-04-26 07:17:00
  • DedeCMS图集上传图片报错,FILEID:X 错误处理办法

    2011-09-10 16:27:13
  • apache返回Request header field is missing ':' separator

    2009-10-02 16:51:00
  • WordPress更换域名完美攻略

    2011-10-29 17:03:25
  • 关键字选取技巧分析 自己创造一个关键词

    2008-11-26 15:28:00
  • Google AdSense:广告放在网页什么位置?

    2009-02-01 14:52:00
  • Godaddy主机域名的转移、转出

    2010-05-05 12:46:00
  • Win2008终端服务器远程程序配置

    2009-03-06 17:06:00
  • Z-Blog URL转发漏洞的修复方法

    2008-12-01 12:54:00
  • 让SEO工作更有效 谈五个不同外部链接形式

    2009-02-01 11:28:00
  • IBM首次涉足电子商务业务

    2009-11-17 10:24:00
  • Linux下Apache配置虚拟主机+SSL

    2009-09-23 19:48:00
  • 易观国际:Q3中国B2C市场3C销量占比44.3%

    2009-11-16 17:51:00
  • 调优Web站点性能完全攻略

    2008-04-18 15:53:00
  • asp之家 网站运营 m.aspxhome.com