在CentOS 7中,PAM(Pluggable Authentication Module)搭建一個模塊化、靈活的驗證體系。而MySQL作為一個強大的開源數(shù)據(jù)庫,也為PAM提供了一個模塊,即mysql.so。
# yum install -y pam_mysql # cp /etc/pam.d/login /etc/pam.d/mysql # vi /etc/pam.d/mysql # 在文件末尾添加以下兩行: auth required pam_mysql.so user=user_name passwd=your_passwd host=your_server_name db=your_db_name table=your_table_name usercolumn=user_name passwdcolumn=user_passwd crypt=1 account required pam_mysql.so user=user_name passwd=your_passwd host=your_server_name db=your_db_name table=your_table_name usercolumn=user_name passwdcolumn=user_passwd crypt=1
上述操作中,我們在/etc/pam.d/mysql中添加了兩行配置。其中,'auth required pam_mysql.so' 配置用于驗證用戶身份,'account required pam_mysql.so'則用于驗證用戶賬號。
我們可以在MySQL中創(chuàng)建一個表來保存用戶名和密碼。在該表中,'user_name'和'user_passwd'分別用于保存用戶名和密碼。當'crypt=1'時,系統(tǒng)會自動對用戶密碼進行加密處理。
當我們添加以上配置后,即可使用mysql作為PAM的驗證方式。當用戶嘗試登錄時,系統(tǒng)就會使用mysql進行驗證。