• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >LINUX > linux系统下安装dovecot方法

linux系统下安装dovecot方法

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-12

佚名 通过本文向大家介绍了linux系统下安装mysql,linux系统下安装jdk,linux系统下安装软件,linux系统下安装qt,linux系统下安装gcc等相关知识,希望对您有所帮助,也希望大家多多支持linkedu.com

Dovecot是一个开源的,为Linux/Unix-like系统提供IMAP,POP3服务的软件。Dovecot 是一个比较新的软件,由 Timo Sirainen 开发,最初发布于 2002年7月。作者将安全性考虑在第一,所以 Dovecot 在安全性方面比较出众。另外,Dovecot 支持多种认证方式,所以在功能方面也比较符合一般的应用。

下面我们来纪录记录一下它的安装:

这里我使用了CentOS系统自带的yum进行安装,安装非常简单,只需要一个包:dovecot

# yum install dovecot

就一切都搞定了

它的主要配置文件也只有一个,位于 /etc/dovecot.conf

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 {
}
</div>

/etc/dovecot/passwd,可以使用明码或者是编码后的密码:

user1@example.com:{PLAIN}user1’s password
user2@example.com:{PLAIN}user2’s password
</div>

这里使用了明文密码,也可以使用加密后的密码:

dovecotpw -s ssha
Enter new password: foo
Retype new password: foo
{SSHA}dZ9TYI7DTM+J558QUBRAIMd/WCOoFGeU
</div>

在 /etc/dovecot/passwd

joe:{SSHA}dZ9TYI7DTM+J558QUBRAIMd/WCOoFGeU
</div>

以上介绍了帐号使用文件存储的方式,下面再介绍一下使用mysql数据库进行帐号存储,只需要修改auth default区块:

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
}
}
}
</div>

/etc/dovecot/dovecot-sql.conf

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需要可以访问帐号邮件存储目录
</div>

就这么简单,配置完成了,下面我们来进行一下简单的测试:

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
</div>

用plain的方式认证

telnet localhost 25

220 mail.xxx.net ESMTP Postfix
>>> auth plain
334 
>>> AHVzZXIxQGV4YW1wbGUuY29tAGZvb2Jhcg== (Base64后的用户名和密码:\0user1@example.com\0foobar)
235 2.7.0 Authentication successful
</div>

使用plain方式认证需要注意,用户名和密码需要一起进行编码,用\0作为分隔符。

Base64的方式有很多,最后我们再介绍一个使用Ruby进行编码的方法:

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
</div> 以上就是小编为大家简单的讲解的inux下安装dovecot的方法,需要的用户快来试试吧,想了解更多精彩教程请继续关注网站! </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Linux系统下Oracle数据库的安装和启动关闭操作教程
  • Linux系统下MongoDB的简单安装与基本操作
  • Linux系统下使用XHProf和XHGui分析PHP运行性能
  • Linux系统下PHP-FPM的安装和配置教程
  • Linux系统下php获得系统分区信息的方法
  • Linux系统下挂接ntfs盘时总提示module fuse not found如何解决?
  • linux系统下安装dovecot方法
  • linux系统下添加计划任务执行php文件方法
  • Linux系统下无法访问mysql解决方法
  • Linux系统下使用uname命令显示系统和硬件信息

相关文章

  • 2017-05-12Linux系统中用户管理的基本命令整理
  • 2017-05-12Linux系统中的date时间日期命令使用教程
  • 2017-05-12深入解析Linux下的磁盘缓存机制与SSD的写入放大问题
  • 2017-05-12Linux下Chrome地址栏输入卡顿该怎么办?
  • 2017-05-12Linux系统下chkconfig命令使用详解
  • 2017-05-12Linux修改RPM的安装目录的方法
  • 2017-05-12Linux连接windows的ftp unzip出现问题的解决方法
  • 2017-05-12Arch Linux安装后的一些初始设置简介
  • 2017-05-12详解Linux中的cat文本输出命令用法
  • 2017-05-12Linux中基本的模式切换与用户登陆操作讲解

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • 在Linux中安装是使用系统性能监控软件Nmon
    • Linux下OpenSSL客户端中使用req命令来生成证书的教程
    • linux命令每天必学(15)之tail 命令
    • VMware安装RedHat Linux系统时出现该光盘无法被挂载错误怎么办?
    • 详解Linux系统中inode索引节点已满问题的解决方法
    • 详解Linux中基本的文件和目录命令file与mkdir
    • Linux下使用cronolog切割服务器日志文件的方法
    • Linux 下使用mount命令挂载CDROM的方法
    • 在Dropbox上搭建私有的Git仓库的教程
    • 总结Linux中用于终结进程的kill和pikill及killall命令用法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有