install plugin pam soname 'auth_pam.so'; create user test_pam identified via pam using 'mariadb_mtr'; create user pam_test; grant proxy on pam_test to test_pam; # # athentication is successful, challenge/pin are ok # note that current_user() differs from user() # Challenge input first. Enter: ************************* Now, the magic number! PIN: 9225 select user(), current_user(), database(); user() current_user() database() test_pam@localhost pam_test@% test # # athentication is unsuccessful # Challenge input first. Enter: ************************* Now, the magic number! PIN: 9224 # # athentication is unsuccessful # Challenge input first. Enter: **************** Now, the magic number! PIN: 616 # # athentication is successful # Now, the magic number! PIN: 9212 select user(), current_user(), database(); user() current_user() database() test_pam@localhost pam_test@% test # # athentication is unsuccessful # Now, the magic number! PIN: 9212 drop user test_pam; drop user pam_test; create user PAM_TEST identified via pam using 'mariadb_mtr'; # # athentication is unsuccessful # Challenge input first. Enter: ************************* Now, the magic number! PIN: 9225 set global pam_winbind_workaround=1; # # athentication is successful # Challenge input first. Enter: ************************* Now, the magic number! PIN: 9225 select user(), current_user(), database(); user() current_user() database() PAM_TEST@localhost PAM_TEST@% test drop user PAM_TEST; uninstall plugin pam;