通州北大青鳥:配置postfix支持虛擬用戶

      我是通州北大青鳥的學生,今天我將我這段時間學習的postfix 郵件系統寫成文檔分享給大家。感謝通州北大青鳥的老師對我的莫大幫助!

      一、準備
      1.從www.extmail.org 中下載extman-1.1.tar.gz
      2.從http://sourceforge.net/projects/courier/files/ 下載courier-authlib
      使用Courier-authlib軟件的目的是因為saslauthd程序不支持數據庫認證,而Courier-authlib支持多種數據庫認證
      3.檢查postfix是否支持虛擬用戶 postconf – m | grep msyql 如果出現mysql表示支持
      二、建立虛擬用戶數據庫
       
      1啟動mysql
      service mysqld restart
      (要想使用此方法啟動,必須將mysqld添加為系統服務,見構建postfix郵件服務器(一))

      2.解壓 extman(通州北大青鳥
      tar zxvf extman-1.1.tar.gz

      3.導入extman軟件包中的數據庫腳本
      cd extman-1.1/docs
      mysql -u root -p123456 < extmail.sql
      mysql -u root -p123456 < init.sql
      -p后面接的是mysql的密碼
      (要想直接使用mysql就要輸入export PATH=$PATH:/usr/local/mysql/bin)
      extmail.sql 腳本進行的操作:主要針對郵件域localhost進行初始化
      創建 extmail 庫,及該庫中的一些表
      創建用戶 extmail@localhost,密碼為 extmail 對數據庫extmail中的表擁有“SELECT”、“UPDATE”的權限
      創建用戶 webman@localhost,密碼為 extman 對數據庫extmail中的表擁有“SELECT”、“INSERT”、“DELETE”、“UPDATE”權限
      init.sql腳本進行的操作:主要是建立了一個新的測試郵件域
      添加虛擬郵件域 extmail.org 的記錄,作為該郵件域的管理帳戶
      創建用戶 root@extmail.org,密碼為 extmail*123*
      創建用戶 postmaster@extmail.org,密碼為 extmail
      作為該郵件域內的基本郵件用戶

      三、配置虛擬用戶支持postfix
      1、修改main.cf文件
      Vi /etc/ostfix/main.cf
      #mydestination = $mydomain, $myhostname //注釋這一行
      添加下面的內容
      virtual_mailbox_base = /mailbox
      \\指定虛擬郵箱存儲目錄的路徑起點
      virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
      \\指定虛擬郵件用戶對應的別名文件位置
      virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
      \\指定記錄虛擬郵件地址與存儲位置對應關系的映射文件的位置
      virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
      \\設置postfix服務器可以接收的虛擬郵件域的域名,作用類似于配置參數“mydestination”
      virtual_uid_maps = static:1000 \\設置所有虛擬用戶映射的本地用戶的UID
      virtual_gid_maps = static:1000 \\設置所有虛擬用戶映射的本地用戶的GID

      2. 建立虛擬用戶映射表文件
      方法:復制 extman 軟件包中docs子目錄下的樣例文件
      mysql_virtual_alias_maps.cf mysql_virtual_mailbox_maps.cf mysql_virtual_domains_maps.cf
      cd extman-0.2.5/docs
      cp mysql_virtual_* /etc/postfix/

       

      四、為虛擬用戶設置SMTP發信認證(通州北大青鳥
      1.解壓coutier-authlib-0.63.0
      tar jxvf courier-authlib-0.63.0.tar.bz2

      2.預配置
      ./configure
      –prefix=/usr/local/courier-authlib \ \\安裝的位置
      >–without-stdheaderdir \ \\將頭文件安裝到一個不是默認的頭文件搜索路徑的目錄中
      >–with-authmysql \ \\配置支持MYSQ數據庫查詢
      >–with-redhat \
      >–with-mysql-libs=/usr/local/mysql/lib/mysql \ \\mysql的庫文件路徑
      >–with-mysql-includes=/usr/local/mysql/include/mysql \\msyql 的頭文件路徑


      3.編譯,安裝
      make ; make install

      4.生成authmysqlrc和 authdaemonrc兩個文件
      命令 make install-configure


      authdaemonrc:主配置,設置使用的認證方式
      authmysqlrc:數據庫配置,設置連接地址、查詢方式等
      5.將courier-authlib的庫文件路徑添加到系統的搜索路徑中去
      1) vi /etc/ld.so.conf
      /usr/local/courier-authlib/lib/courier-authlib
      2)更新
      Ldconfig


      6.修改authdaemonrc主配置文件,僅保留authmysql認證方式,去掉其他
      1)進入目錄
      cd /usr/local/courier-authlib/etc/authlib/
      2)備份
      cp authdaemonrc authdaemonrc.bak
      3)保留authmysql認證方式
      ①vi authdaemonrc
      ②刪掉所有內容 1000dd
      ③添加如下兩行
      authmodulelist=”authmysql”
      authmodulelistorig=”authmysql”


      7.修改authmysqlrc文件,用于描述如何向mysql數據庫查詢信息(通州北大青鳥
      1)cd /usr/local/courier-authlib/etc/authlib/
      2)備份
      cp authmysqlrc authmysqlrc.bak
      3)vi authmysqlrc
      修改
      MYSQL_SERVER localhost \\msyql數據庫服務器位置
      MYSQL_USERNAME extmail \\數據庫管理員賬號
      MYSQL_PASSWORD extmail \\數據庫管理員賬戶密碼
      MYSQL_SOCKET /tmp/mysql.sock \\mysql.sock文件位置
      MYSQL_DATABASE extmail \\虛擬用戶數據庫
      MYSQL_USER_TABLE mailbox \\重mailbox表中獲得賬戶的信息
      MYSQL_CRYPT_PWFIELD password \\從pssword字段獲得帳戶密碼
      MYSQL_UID_FIELD uidnumber \\從uidnumber字段獲得映射的本地用戶UID
      MYSQL_GID_FIELD gidnumber \\從gidnumber字段獲得映射的本地組GID
      MYSQL_LOGIN_FIELD username \\從username字段獲得帳戶名稱(帶@后綴)
      MYSQL_HOME_FIELD concat(‘/mailbox/’,homedir) \\合并出用戶的宿主目錄完整路徑
      MYSQL_NAME_FIELD name \\從name字段獲得帳戶名稱(不帶@后綴)
      MYSQL_MAILDIR_FIELD concat(‘/mailbox/’,maildir) \\合并出用戶的完整郵件存儲路徑


      8.回到源碼目錄,復制腳本,并啟動courier-authlib服務
      cd /postfix-an/courier-authlib-0.63.0 \\回到源碼目錄
      cp courier-authlib.sysvinit /etc/init.d/courier-authlib \\復制腳本到
      chmod 755 /etc/init.d/courier-authlib \\給權限
      chkconfig –level 35 courier-authlib on \\在35基本,開機啟動
      service courier-authlib start \\啟動courier-authlib
      9.修改cyrus sasl設置
      vi /usr/lib/sasl2/smtpd.conf
      pwcheck_method: authdaemond
      authdaemond_path: /usr/local/courier-authlib/var/spool/authdaemon/socket


      10.修改目錄的權限,否則postfix無法獲得用戶名和密碼
      chmod –R 755 /usr/local/courier-authlib/var/spool/authdaemon/

       

      五、修改Dovecot的配置
      Vi /etc/dovecot.conf
      1.查找mail_location 把它修改為
      mail_location = maildir:/mailbox/%d/%n/Maildir
      2.查找 mechanisms = plain 在下面添加以下內容
      passdb sql {
      args = /etc/dovecot-mysql.conf
      }
      userdb sql {
      args = /etc/dovecot-mysql.conf
      }


      4.建立數據查詢配置文件
      Vi /etc/dovecot-mysql.conf \\建立文件,添加如下內容
      driver = mysql
      connect = host=localhost dbname=extmail user=extmail password=extmail
      default_pass_scheme = CRYPT \\msyql數據庫中存儲的密碼串的加密算法
      password_query = SELECT username AS user,password AS password FROM mailbox WHERE username = ‘%u’ \\用于查詢用戶密碼的SQL語句
      user_query = SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox WHERE username = ‘%u’ \\用于查詢用戶的SQL語句


      上述配置可參考樣例文件”etc/ dovecot-sql.conf”
      5.建立虛擬用戶的郵箱根目錄“/mailbox”
      1)mkdir -p /mailbox/extmail.org/postmaster/Maildir/
      -p 表示連接新建目錄
      /mailbox 是郵箱存儲空間的頂層目錄,必須創建
      /mailbox/extmail.org 目錄對應虛擬郵件域 extmail.org
      /mailbox/extmail.org/postmaster 目錄對應郵件用戶 postmaster@extmail.org
      /mailbox/extmail.org/postmaster/Maildir 目錄對應該用戶的郵箱存儲空間
      2)chown -R postfix:postfix /mailbox

       

      6.重啟dovecot
      /usr/local/sbin/dovecot -c /etc/dovecot.conf
      六、測試虛擬用戶
      1. 使用 authtest 驗證數據庫查詢,用于測試的郵箱賬號用戶:postmaster@extmail.org ,密碼:extmail
      1)命令 /usr/local/courier-authlib/sbin/authtest -s login postmaster@extmail.org extmail
      2)如果出現“Authentication succeeded”表示成功


      2.測試對虛擬用戶的smtp發信認證
      出現235 Authentication Successful 表示成功
      1)首先獲得虛擬用戶postmaster@extmail.org的用戶名和密碼的BASE64編碼字符串
      ①#perl -e ‘use MIME::Base64; print encode_base64(“postmaster\@extmail.org”)’
      得到cG9zdG1hc3RlckBleHRtYWlsLm9yZw==
      ②perl -e ‘use MIME::Base64; print encode_base64(“extmail”)’得到 ZXh0bWFpbA==
      或者用命令printf “用戶名或密碼” | openssl base64

      通州北大青鳥

       

       

      北大青鳥網上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 国产日韩一区二区三免费高清| 四虎永久在线精品免费一区二区| 国产成人精品亚洲一区 | 精品久久久久久无码中文字幕一区| av在线亚洲欧洲日产一区二区| 日本精品无码一区二区三区久久久| 中文字幕一区精品| 风流老熟女一区二区三区| 亚洲.国产.欧美一区二区三区| 国产区精品一区二区不卡中文| 日本一区二区在线免费观看| 日本高清一区二区三区| 伊人久久精品一区二区三区| 日产精品久久久一区二区| 日本在线不卡一区| 亚洲欧洲∨国产一区二区三区| а天堂中文最新一区二区三区| 欧洲精品一区二区三区| 国产精品无码一区二区在线观| 中文字幕乱码一区久久麻豆樱花| 日韩精品乱码AV一区二区| 一区二区精品在线| 91成人爽a毛片一区二区| 人妻AV一区二区三区精品 | 亚洲av无码一区二区三区天堂| 91视频一区二区| 久久久久人妻精品一区| 日韩精品中文字幕无码一区| 一区二区视频在线播放| 无码人妻精品一区二区三区东京热| 国精产品一区二区三区糖心| 久久久久一区二区三区| 久久综合精品不卡一区二区| 人妻无码第一区二区三区| 99精品一区二区三区| 国模精品视频一区二区三区| 最新欧美精品一区二区三区| 免费精品一区二区三区在线观看| 国产麻豆媒一区一区二区三区| 视频一区二区三区人妻系列| 国产一区二区精品久久凹凸 |