CentOS 7 install pam_mysql:
安裝相依套件並下載 pam_mysql
yum install -y gcc unzip wget make autoconf automake libtool mariadb-devel pam-devel cyrus-sasl-md5 cyrus-sasl cyrus-sasl-lib cyrus-sasl-devel cyrus-sasl-plain git clone https://github.com/NigelCunningham/pam-MySQL.git開始編譯
cd ./pam-MySQL autoreconf -f -i ./configure --with-cyrus-sasl2 \ --with-openssl \ --with-pam=/usr \ --with-mysql=/usr \ --with-pam-mods-dir=/usr/lib64/security make && make install編輯
/etc/security/pam_mysql.confusers.host=lbmysqledm.tigerfly.tw users.database=awoo_mail_service users.db_user=dml_pg_mail users.db_passwd=Av2KYn3BUfF9hXq8uAKL users.table=mail_sasl_user_detail users.user_column=USERNAME users.password_column=PASSWORD users.password_crypt=9 verbose=0 log.enabled=0 log.table=mail_sasl_user_log log.message_column=MESSAGE log.pid_column=PID log.user_column=USER log.host_column=HOST log.rhost_column=RHOST log.time_column=TIME編輯
/etc/pam.d/smtp#%PAM-1.0 #auth include password-auth #account include password-auth account required pam_mysql.so config_file=/etc/security/pam_mysql.conf auth sufficient pam_mysql.so config_file=/etc/security/pam_mysql.conf編輯
/etc/pam.d/smtp.postfixaccount required pam_mysql.so config_file=/etc/security/pam_mysql.conf auth sufficient pam_mysql.so config_file=/etc/security/pam_mysql.conf資料庫 schema:
-- MySQL dump 10.14 Distrib 5.5.68-MariaDB, for Linux (x86_64) -- -- Host: lbmysqledm.tigerfly.tw Database: awoo_mail_service -- ------------------------------------------------------ -- Server version 5.7.25-google-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Table structure for tablemail_dkim_user_detail-- DROP TABLE IF EXISTSmail_dkim_user_detail; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_dkim_user_detail(idint(10) unsigned NOT NULL AUTO_INCREMENT,domain_namevarchar(255) NOT NULL,selectorvarchar(63) NOT NULL,private_keytext,public_keytext, PRIMARY KEY (id), KEYdomain_name(domain_name) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_detail-- DROP TABLE IF EXISTSmail_sasl_user_detail; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_detail(IDint(10) unsigned NOT NULL AUTO_INCREMENT,USERNAMEvarchar(128) NOT NULL DEFAULT '',PASSWORDvarchar(255) NOT NULL DEFAULT '',FORWARDvarchar(128) NOT NULL DEFAULT '',DOMAINvarchar(64) NOT NULL DEFAULT '',MAILvarchar(64) NOT NULL DEFAULT '',FILTERvarchar(64) NOT NULL DEFAULT 'OK',PARTITIONvarchar(32) NOT NULL DEFAULT 'default',QUOTAint(11) NOT NULL DEFAULT '10485760',STATUStinyint(4) NOT NULL DEFAULT '1', PRIMARY KEY (ID), UNIQUE KEYUSERNAME(USERNAME), UNIQUE KEYMAIL(MAIL) ) ENGINE=InnoDB AUTO_INCREMENT=248 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log-- DROP TABLE IF EXISTSmail_sasl_user_log; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200422-- DROP TABLE IF EXISTSmail_sasl_user_log_20200422; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200422(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200503-- DROP TABLE IF EXISTSmail_sasl_user_log_20200503; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200503(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200510-- DROP TABLE IF EXISTSmail_sasl_user_log_20200510; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200510(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200517-- DROP TABLE IF EXISTSmail_sasl_user_log_20200517; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200517(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200524-- DROP TABLE IF EXISTSmail_sasl_user_log_20200524; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200524(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200531-- DROP TABLE IF EXISTSmail_sasl_user_log_20200531; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200531(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200607-- DROP TABLE IF EXISTSmail_sasl_user_log_20200607; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200607(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200614-- DROP TABLE IF EXISTSmail_sasl_user_log_20200614; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200614(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200621-- DROP TABLE IF EXISTSmail_sasl_user_log_20200621; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200621(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200628-- DROP TABLE IF EXISTSmail_sasl_user_log_20200628; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200628(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200705-- DROP TABLE IF EXISTSmail_sasl_user_log_20200705; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200705(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200712-- DROP TABLE IF EXISTSmail_sasl_user_log_20200712; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200712(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200719-- DROP TABLE IF EXISTSmail_sasl_user_log_20200719; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200719(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200726-- DROP TABLE IF EXISTSmail_sasl_user_log_20200726; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200726(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200802-- DROP TABLE IF EXISTSmail_sasl_user_log_20200802; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200802(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200809-- DROP TABLE IF EXISTSmail_sasl_user_log_20200809; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200809(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200816-- DROP TABLE IF EXISTSmail_sasl_user_log_20200816; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200816(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200823-- DROP TABLE IF EXISTSmail_sasl_user_log_20200823; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200823(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200830-- DROP TABLE IF EXISTSmail_sasl_user_log_20200830; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200830(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200906-- DROP TABLE IF EXISTSmail_sasl_user_log_20200906; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200906(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200913-- DROP TABLE IF EXISTSmail_sasl_user_log_20200913; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200913(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200920-- DROP TABLE IF EXISTSmail_sasl_user_log_20200920; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200920(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20200927-- DROP TABLE IF EXISTSmail_sasl_user_log_20200927; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20200927(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20201004-- DROP TABLE IF EXISTSmail_sasl_user_log_20201004; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20201004(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for tablemail_sasl_user_log_20201011-- DROP TABLE IF EXISTSmail_sasl_user_log_20201011; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLEmail_sasl_user_log_20201011(PIDbigint(20) unsigned NOT NULL,USERvarchar(255) NOT NULL,HOSTvarchar(16) NOT NULL,RHOSTvarchar(16) NOT NULL,MESSAGEvarchar(100) NOT NULL,TIMEdatetime NOT NULL, KEYMESSAGE(MESSAGE), KEYTIME(TIME), KEYUSER(USER), KEYHOST(HOST) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2020-11-19 4:03:29在資料庫新增一筆紀錄:
INSERT INTO mail_sasl_user_detail (USERNAME,PASSWORD,FORWARD,DOMAIN,MAIL) VALUES ('test456',hash('sha256', 456),'test','sample.awoo.org','[email protected]');修改
/etc/sysconfig/saslauthdFLAGS="r"重啟服務
systemctl restart saslauthd systemctl enable saslauthd測試是否可以正常驗證
testsaslauthd -u test456 -p 456 -s smtp
