2016-07-18 3 views
0

PAM(Pluggable Authentication Modules)を使用してMySQL(RHEL 6.6にインストール済み)でAD認証を設定する作業を進めています。MySQL 5.7(RHEL6.6)ADでのPAM認証

これまでのADユーザーは、AD資格情報を使用してRHELボックスにログインすることができます。しかし、PAMプラグインを使用してMySQLにログインしようとすると、Access Deniedエラーが発生します。

/etc/pam.d/mysql: 
auth required pam_winbind.so 
account required pam_winbind.so 

を私はMySQLのエラーログを確認すると、私は方法のauthenticate_pamでスローシステムエラーを()を参照してください、次のようにMySQLのPAMの設定があります。上記PAMの設定を1として

entering auth_pam_server 
entering auth_pam_next_token 
auth_pam_next_token:reading at [mysql, MySQLUsers=mysql_ad], sep=[,] 
auth_pam_next_token:state=PRESPACE, ptr=[mysql, MySQLUsers=mysql_ad], out=[] 
auth_pam_next_token:state=IDENT, ptr=[mysql, MySQLUsers=mysql_ad], out=[] 
auth_pam_next_token:state=AFTERSPACE, ptr=[, MySQLUsers=mysql_ad], out=[mysql] 
auth_pam_next_token:state=DELIMITER, ptr=[, MySQLUsers=mysql_ad], out=[mysql] 
auth_pam_next_token:state=DONE, ptr=[, MySQLUsers=mysql_ad], out=[mysql] 
leaving auth_pam_next_token on /export/home/pb2/build/sb_0-19016729-1464156482.79/rpm/BUILD/mysqlcom-pro-5.7.13/mysqlcom-pro-5.7.13/plugin/pam-authentication-plugin/src/parser.c:195 
auth_pam_server:password ******** received 
auth_pam_server:pam_start rc=0 
auth_pam_server:pam_set_item(PAM_RUSER,administrator) rc=0 
auth_pam_server:pam_set_item(PAM_RHOST,localhost) rc=0 
entering auth_pam_server_conv 
auth_pam_server_conv:PAM_PROMPT_ECHO_OFF [Password: ] received 
leaving auth_pam_server_conv on /export/home/pb2/build/sb_0-19016729-1464156482.79/rpm/BUILD/mysqlcom-pro-5.7.13/mysqlcom-pro-5.7.13/plugin/pam-authentication-plugin/src/authentication_pam.c:269 
**auth_pam_server:pam_authenticate rc=4 
auth_pam_server: rc=4 
PAM error: System error** 
leaving auth_pam_server on /export/home/pb2/build/sb_0-19016729-1464156482.79/rpm/BUILD/mysqlcom-pro-5.7.13/mysqlcom-pro-5.7.13/plugin/pam-authentication-plugin/src/authentication_pam.c:441 
2016-07-18T12:48:22.360536Z 122 [Note] Access denied for user 'administrator'@'localhost' (using password: YES) 

、PAMは、LinuxボックスにADユーザーを認証するための同じプロセスである、ADでのユーザーの資格情報を検索し、認証することがwinbindを使用している以下は、mysqldのログです。そして、私はwinbindのログを見ると、私は以下を参照してください。

[2016/07/18 08:27:24.236701, 5] winbindd/winbindd_pam.c:1868(winbindd_dual_pam_auth) 
    Plain-text authentication for user CORPAD\administrator returned NT_STATUS_OK (PAM: 0) 

これは、認証がwinbindのから正常に動作しているが、winbindのリターンが戻ってPAMに制御したときに、何かが失敗していると、システムエラーがスローされたことを私に伝えます。

答えて

0

まあ、私はそれを理解しました。

まず、このポストに続いてPAMのデバッグログを有効にしました。https://serverfault.com/questions/249671/switch-on-pam-debugging-to-syslog。私はそれをしたとき

が、私は毎回私は、私は次のようなエラーになっていた認証しようとしたことがわかった: PAMのaudit_openを()に失敗しました:許可は、この根本的な原因は、SELinuxが施行あった

を否定しました。そこでSELinuxを無効にしてシステムを再起動し、この問題を修正しました。私は今、私のAD資格情報を使ってLinuxにログインしてから、mysqlコマンドを使用してmysqlにも認証することができます!