溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux系統(tǒng)中怎么安裝dovecot

發(fā)布時間:2021-08-11 17:13:57 來源:億速云 閱讀:232 作者:Leah 欄目:系統(tǒng)運(yùn)維

今天就跟大家聊聊有關(guān)linux系統(tǒng)中怎么安裝dovecot,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

CentOS系統(tǒng)自帶的yum進(jìn)行安裝,安裝非常簡單,只需要一個包:dovecot

# yum install dovecot

就一切都搞定了

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

base_dir = /var/run/dovecot/ # dovecot運(yùn)行目錄
protocols = pop3 pop3s # 使用協(xié)議
listen = * # 監(jiān)聽連接進(jìn)來的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 # 認(rèn)證詳細(xì)日志
auth_debug = yes # 認(rèn)證的debug信息打開,可以顯示出SQL查詢語句,正常后可關(guān)閉
auth_debug_passwords = yes ??梢燥@示密碼失敗的詳細(xì)信息,正常后可關(guān)閉
auth default {
mechanisms = plain login #認(rèn)證機(jī)制
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進(jìn)行認(rèn)證
mode = 0660
user = postfix
group = postfix
}
}
}
dict {
}
plugin {
}

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

user1@example.com:{PLAIN}user1’s password
user2@example.com:{PLAIN}user2’s password

這里使用了明文密碼,也可以使用加密后的密碼:

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

在 /etc/dovecot/passwd

joe:{SSHA}dZ9TYI7DTM+J558QUBRAIMd/WCOoFGeU

以上介紹了帳號使用文件存儲的方式,下面再介紹一下使用mysql數(shù)據(jù)庫進(jìn)行帳號存儲,只需要修改auth default區(qū)塊:

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

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需要可以訪問帳號郵件存儲目錄

就這么簡單,配置完成了,下面我們來進(jìn)行一下簡單的測試:

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的方式認(rèn)證

telnet localhost 25

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

使用plain方式認(rèn)證需要注意,用戶名和密碼需要一起進(jìn)行編碼,用\0作為分隔符。

Base64的方式有很多,最后我們再介紹一個使用Ruby進(jìn)行編碼的方法:

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

看完上述內(nèi)容,你們對linux系統(tǒng)中怎么安裝dovecot有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI