linux系统下安装dovecot方法
GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!
【 如果你想靠AI翻身,你先需要一个靠谱的工具! 】
Dovecot是一个开源的,为Linux/Unix-like系统提供IMAP,POP3服务的软件。Dovecot 是一个比较新的软件,由 Timo Sirainen 开发,最初发布于 2002年7月。作者将安全性考虑在第一,所以 Dovecot 在安全性方面比较出众。另外,Dovecot 支持多种认证方式,所以在功能方面也比较符合一般的应用。
下面我们来纪录记录一下它的安装:
这里我使用了CentOS系统自带的yum进行安装,安装非常简单,只需要一个包:dovecot
# yum install dovecot
就一切都搞定了
它的主要配置文件也只有一个,位于 /etc/dovecot.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | base_dir = /var/run/dovecot/ # dovecot运行目录 protocols = pop3 pop3s # 使用协议 listen = * # 监听连接进来的ip地址,* => 所有的IPV4,[::] => 所有的IPV6 disable_plaintext_auth = no log_path = /var/log/dovecot .log #日志文件位置 info_log_path = /var/log/dovecot-info .log # debug信息 log_timestamp = “%Y-%m-%d %H:%M:%S ” ssl_disable = yes mail_location = maildir: /var/vmail/ %u #用户的邮件目录位置,这里使用maildir方式存储 mail_privileged_group = mail protocol imap { } protocol pop3 { pop3_uidl_format = %08Xu%08Xv } protocol lda { postmaster_address = postmaster@example.com } auth_verbose = yes # 认证详细日志 auth_debug = yes # 认证的debug信息打开,可以显示出SQL查询语句,正常后可关闭 auth_debug_passwords = yes #可以显示密码失败的详细信息,正常后可关闭 auth default { mechanisms = plain login #认证机制 passdb pam { } passdb passwd - file { args = /etc/dovecot/passwd #密码文件 } userdb passwd { } userdb static { args = uid=vmail gid=vmail home= /var/vmail/ %u #这里的uid和gid需要可以访问 /home/vmail 邮箱目录 } user = root socket listen { client { path = /var/spool/postfix/private/auth-client #postfix需要连接到这个sock进行认证 mode = 0660 user = postfix group = postfix } } } dict { } plugin { } |
/etc/dovecot/passwd,可以使用明码或者是编码后的密码:
这里使用了明文密码,也可以使用加密后的密码:
1 2 3 4 | dovecotpw -s ssha Enter new password: foo Retype new password: foo {SSHA}dZ9TYI7DTM+J558QUBRAIMd /WCOoFGeU |
在 /etc/dovecot/passwd
以上介绍了帐号使用文件存储的方式,下面再介绍一下使用mysql数据库进行帐号存储,只需要修改auth default区块:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | auth default { mechanisms = plain login passdb pam { } passdb sql { args = /etc/dovecot/dovecot-sql .conf } userdb passwd { } userdb sql { args = /etc/dovecot/dovecot-sql .conf } user = root socket listen { client { path = /var/spool/postfix/private/auth-client mode = 0660 user = postfix group = postfix } } } |
/etc/dovecot/dovecot-sql.conf
1 2 3 4 5 6 | driver = mysql connect = host= /tmp/mysql .sock dbname=postfix user=postfix password=mypassword default_pass_scheme = MD5-CRYPT # 如果使用postfixadmin管理,需要用这个加密方式 password_query = SELECT username as user, password from mailbox WHERE username = ‘%u’ user_query = SELECT maildir, 501 AS uid, 501 AS gid FROM mailbox WHERE username = ‘%u’ #这里uid和gid需要可以访问帐号邮件存储目录 |
就这么简单,配置完成了,下面我们来进行一下简单的测试:
1 2 3 4 5 6 7 8 | helo mail.xxx.net 250 mail.xxx.net >>> auth login 334 VXNlcm5hbWU6 >>> dXNlcjFAZXhhbXBsZS5jb20= (Base64后的用户名:user1@example.com) 334 UGFzc3dvcmQ6 >>> Zm9vYmFy (Base64后的密码:foobar) 235 2.7.0 Authentication successful |
用plain的方式认证
telnet localhost 25
1 2 3 4 5 | 220 mail.xxx.net ESMTP Postfix >>> auth plain 334 >>> AHVzZXIxQGV4YW1wbGUuY29tAGZvb2Jhcg== (Base64后的用户名和密码:\0user1@example.com\0foobar) 235 2.7.0 Authentication successful |
使用plain方式认证需要注意,用户名和密码需要一起进行编码,用\0作为分隔符。
Base64的方式有很多,最后我们再介绍一个使用Ruby进行编码的方法:
1 2 3 4 5 6 7 8 | inosin@mac:~ > ruby -rbase64 -e ‘puts Base64.encode64(“\0user1@example.com\0foobar”)’ AHVzZXIxQGV4YW1wbGUuY29tAGZvb2Jhcg== inosin@mac:~ > ruby -rbase64 -e ‘puts Base64.encode64(“user1@example.com”)’ dXNlcjFAZXhhbXBsZS5jb20= inosin@mac:~ > ruby -rbase64 -e ‘puts Base64.encode64(“foobar”)’ Zm9vYmFy |
相关文章
- 本文为大家详细的介绍Linux系统下GitLab如何安装部署,gitlab 一般作为内部私有系统使用,若公司使用 git 分布代码,每次从 github 上 pull 则非常慢,使用 gitlab 则方便很多2016-11-21
- 今天终于找到了一篇很好得文章,在Ubuntu下面怎么很方便的安装eclipse,太好了,下面分享一下2013-11-14
安装完samba如何从linux访问WINDOWS共享文件夹
安装完samba如何从linux访问WINDOWS共享文件夹?很多像我一样的新手刚装完samba后,确不知道如何从linux系统访问windows系统的共享文件夹.其实要从linux访问windows共享文件2009-03-10在linux系统中安装virtualbox增强功能(增强包)的详细步骤
本文主要介绍了在linux系统中安装virtualbox增强功能(增强包)的详细步骤,大家参考使用吧2014-01-17linux系统安装rsync和sersync实现数据实时同步详细步骤(rsync实时同步)
本文主要介绍了linux系统安装rsync和sersync实现数据实时同步的详细步骤,大家参考使用吧2014-03-11- rpm -qpl xxxxxx.rpm 1.如何安装rpm软件包 rmp软件包的安装可以使用程序rpm来完成。执行下面的命令 rpm -i your-package.rpm 其中your-package.rpm是你要安装的rpm包2014-04-22
- 如果之前服务器上安装过Windows、VMware、Mac OS,那么安装linux时,可能会遇到“您的boot分区使用的是GPT分区表,但是这台机器不支持使用GPT启动”的问题2013-01-28
- 安装多次Zend Optimizer,试了不同版本,总是失败。不知如何去找原因,因为Zend Optimizer安装实在太简单了: 1-释放压缩解包; 2-运行install.sh这个脚本,根据提示输入适2009-03-10
- 这篇文章主要介绍了在Linux系统下安装Nvidia官方显卡驱动的方法,本文以CentOS系统作为环境进行演示,需要的朋友可以参考下2015-07-06
最新评论