安装chattr命令,Cyrus Imap + Postfix 在Linux下的安装

文章 1年前 (2023) admin
0

Cyrus Imap + Postfix 在Linux下的安装

一般大家现在使用的Unix/Linux下邮件服务都是基于对系统用户的认证,这在一定程度上留下了许多安全隐患,如果账户没有设置好,会导致不可弥补 的失误,此外SMTP服务器的外发功能也可以被居心不良者用作发送垃圾邮件的中转站,因此建立一套基于非系统用户认证加带SMTP认证的邮件服务器对要求 高性能高安全的用户来说就显得尤为重要,本文将介绍使用Cyrus Imap和Postfix组合的邮件服务实现上述功能。
    由于我们使用的是非系统用户的认证,因此需要一个程序进行非系统用户的认 证,cyrus IMAP在开发中就包含了一种叫SASL(Simple Authentication and Security Layer)他是一种基于基本协议的认证接口,他可以被大部分的协议调用作为验证工具,由于SASL是Cyrus项目开发的产品,因此他对Cyrus的支 持是最完美的;此外我们还需要一个第三方数据库对邮件用户的用户名密码等资料进行存储,这里我们选用Berkeley Database,Berkeley Database是一种内含数据库并支持各种c/s结构的软件,Berkeley Database支持各种接口包括C, C++, Java, 和 Perl APIs等,被广泛的使用在Unix/Linux 平台上。
首先我们安erkeley DB,Berkeley DB最新版本是3.2.9,可以到,下载后用
tar zxvf db-3.2.9.tar.gz
cd db-3.2.9
cd dist
./configure
make
make install
安装完毕后不需要启动任何进程就可以使用Berkeley DB。
注意:为了便于以后的安装,我们可以把/usr/local/BerkeleyDB.3.2/lib 和/usr/local/BerkeleyDB.3.2/include下的所有文件相应的拷贝到/usr/lib和/usr/include下,如果有相同文件名的就进行强制覆盖。
安装SASL:先到,下载后解压安装:
tar zxvf cyrus-sasl-1.5.24.tar.gz
cd cyrus-sasl-1.5.24
./configure –enable-login
注意:在configure 时应该有一下内容,才代表Cyrus包含了对Berkeley DB的支持:
checking for db_create in -ldb... yes
checking DB library to use... berkeley
如果没有上述内容请检查是否把BerkeleyDB下的lib/和include/内容拷贝到/usr/lib和/usr/include下
配置完后进行安装
make
make install
注意:我们还需要把/usr/local/lib/sasl/所有文件拷贝到/usr/lib并把/usr/local/include/sasl下的所有文件拷贝到/usr/include/
安装Cyrus Imap:在安装之前我们先简单的介绍一下Cyrus Imap:
什么是 IMAP 以及为什么要使用它? IMAP( 互联网邮件访问协议 ) 提供了一种访问远程服务器上的电子邮件或 BBS 邮件的方法. IMAP 普遍被认为是 POP ( 邮局协议 ) 邮件的替代者. IMAP 允许用户从不同的机子问他们的电子邮件而不用下载那些邮件. 这种邮件的访问更加有效, 而且对终端用户来说有更多的好处,而Cyrus Imap是众多Imap版本中的一种,现在流行的imap软件主要有
o University of Washington Imap 是Imap的元老也是使用最广泛的Imap软件
o Cyrus
o PMDF
o Courier-IMAP
我们这里介绍的Cyrus Imap 是由Bob Anderson (boba@iserv.net) 和 Jorge Paramo (jorge@iserv.net)共同开发的一个项目,Cyrus Imap被设计成在一台不允许一般用户登录的服务器上运行. Cyrus 也被认为是 Unix 上的两个最普遍的 IMAP 服务器之一. 另一个是大学的 IMAP 服务器.
到 Imap,下载后解压安装
tar zxvf cyrus-imapd-2.0.15.tar.gz
cd cyrus-imapd-2.0.15
创建cyrus用户
adduser –g mail cyrus
passwd cyrus
由于cyrus imap是通过sasl进行用户验证的,而sasl是把用户信息写入到/etc/sasldb文件中,因此cyrus用户需要有对/etc/sasldb文件读写的权限
chown cyrus /etc/sasldb*
./configure
configure的详细使用可以参照configure –help命令,你可以加入对openssl等的支持
make depend
make all CFLAGS=-O
make install
cyrus imap采用的是4.3BSD 格式的syslog,
vi /etc/syslog 并加入下面两行
local6.debug /var/log/imapd.log
auth.debug /var/log/auth.log

生成两个空白的日志文件
touch /var/log/imapd.log /var/log/auth.log
新建imap的配置文件
vi /etc/imapd.conf并添加下面几行
configdirectory: /var/imap
partition-default: /var/spool/imap
admins: cyrus wing
sasl_pwcheck_method: sasldb

创建相应的配置目录根据我们前面的配置文件进行设置
cd /var
mkdir imap
chown cyrus imap
chgrp mail imap
chmod 750 imap
cd /var/spool
mkdir imap
chown cyrus imap
chgrp mail imap
chmod 750 imap
cd /usr
mkdir sieve
chown cyrus sieve
chgrp mail sieve
chmod 750 sieve
以上命令都是有root用户完成的现在切合成cyrus用户进行相应目录和文件的安装
su cyrus
tools/mkimap
exit
Cyrus Imap还提供了一个很强大的功能-对邮件用户的邮件容量进行设置!在安装过程中需要使用chattr命令改变一些文件的属性
cd /var/imap
chattr +S user quota user/* quota/*
chattr +S /var/spool/imap /var/spool/imap/*
如果你使用的是senmail作MTA则需要执行下面一句
chattr +S /var/spool/mqueue
编辑/etc/services文件,如果文件中没有一下内容,则加入下面的几行
 pop3 110/tcp
 imap 143/tcp
 imsp 406/tcp
 acap 674/tcp
 imaps 993/tcp
 pop3s 995/tcp
 kpop 1109/tcp
 sieve 2000/tcp
 lmtp 2003/tcp
 fud 4201/udp
查看/etc/inetd.conf文或/etc/xinetd.d目录下是否有关于imap, imaps, pop3, pop3s, kpop, lmtp 和 sieve的内容,如果有则删去相应的内容
重新启动inet或xinet进程
/etc/rc.d/init.d/inet resart

/etc/rc.d/init.d/xinet restart

配置主进程文件:在原代码文件下的master/config目录下有相应的参考配置文件,我们选择最基本的安装文件
cp master/conf/small.conf /etc/cyrus.conf
如果你的cyrus imap在编译过程中有加入对openssl等的支持,则可以使用normal.conf
cp master/conf/normal.conf /etc/cyrus.conf
编辑/etc/cyrus.conf

  lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0
替换成
  lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=1
启动cyrus imap
/usr/cyrus/bin/master &
测试cyurs iamp
telnet 127.0.0.1 143
或telnet 127.0.0.1 110
如果出现以下文字则表明imap工作正常
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
OK wing.com Cyrus IMAP4 v2.0.15 server ready
管理cyrus用户:根据前面的配置我们先添加管理员账户
/usr/local/sbin/saslpasswd cyrus
输入两次相同的密码后就把cyrus这个用户添加到数据库中
运行cyrus管理程序
/usr/local/bin/cyradm –u cyrus localhost
系统会提示你输入你的密码,把我们刚才输入的密码敲入后进入管理提示界面
localhost.localdomain>help
使用help命令看命令帮助
authenticate, login, auth authenticate to server
chdir, cd change current directory
createmailbox, cm, create create mailbox
deleteaclmailbox, dam, deleteacl remove ACLs from mailbox
deletemailbox, delete, dm delete mailbox
disconnect, disc disconnect from current server

删除文件提示Operationnotpermited是什么

版权声明:admin 发表于 2023年2月16日 上午1:42。
转载请注明:安装chattr命令,Cyrus Imap + Postfix 在Linux下的安装 | 热豆腐网址之家

相关文章