programing

MariaDB Authentication Plugin을 수정하는 방법 - PAM?

yellowcard 2023. 8. 8. 21:27
반응형

MariaDB Authentication Plugin을 수정하는 방법 - PAM?

Ubuntu 18.04에 MariaDB 서버를 설치했습니다.PAM 인증 플러그인이 필요하기 때문에 여기에 설명된 단계인 https://mariadb.com/resources/blog/configuring-pam-authentication-and-user-mapping-with-mariadb/, 에 따라 플러그인을 설치했습니다.

다음을 사용하여 PAM-매퍼를 다운로드하여 설치했습니다.

wget https://raw.githubusercontent.com/MariaDB/server/10.1/plugin/auth_pam/mapper/pam_user_map.c
gcc pam_user_map.c -shared -lpam -fPIC -o pam_user_map.so
sudo install --mode=0755 pam_user_map.so /lib64/security/

그런 다음 PAM 정책을 만들었습니다.

sudo tee /etc/pam.d/mysql <<EOF
auth required pam_unix.so audit
account required pam_unix.so audit
auth sufficient /lib64/security/pam_user_map.so
EOF

파일로/etc/security/user_map.conf원하는 매핑을 추가했습니다. 액세스 권한을 열었습니다./etc/shadow자습서에 설명된 대로.

그런 다음 다음 명령을 사용하여 MariaDB 측에서 모든 inf를 설정했습니다.

-- Install the plugin
INSTALL SONAME 'auth_pam';

-- Create the "dba" user
CREATE USER 'user_for_mapping'@'%' IDENTIFIED BY 'somepassword';
GRANT ALL PRIVILEGES ON *.* TO 'dba'@'%';

-- Create an anonymous catch-all user that will use the PAM plugin and the mysql policy
CREATE USER ''@'%' IDENTIFIED VIA pam USING 'mysql';

-- Allow the anonymous user to proxy as the dba user
GRANT PROXY ON 'user_for_mapping'@'%' TO ''@'%';

모든 것이 작동하고 있었습니다.매핑된 상태로 매핑된 매핑 파일의 사용자, 매핑 파일에서 언급되지 않은 사용자는 익명 계정 '@'%'에 매핑되어야 합니다.그럼에도 불구하고 마리아DB 설정에서 아무것도 변경되지 않았음에도 불구하고 하루하루 작동을 중지했습니다(Ubuntu 측에서 변경 사항을 도입했는지는 확실하지 않습니다).

이전과 같이 로그인을 시도할 때 다음을 사용합니다.mysql -u ubuntu_user -p또는 사용mysql -u '' -p동일한 오류 메시지가 표시됩니다.

2019-11-19  9:37:56 11 [Warning] Access denied for user 'ubuntu_user'@'localhost' (using password: NO)

비밀번호를 사용하고 있음에도 불구하고.부터mysql.log읽을 수 있는 파일ubuntu_user@localhost as anonymous on다시 오류가 발생합니다.

파일에서auth.log다음을 읽을 수 있습니다.

Nov 19 09:37:27 host_name pkexec[34382]: shin: Error executing command as another user: Not authorized [USER=root] [TTY=unknown] [CWD=/home/shin] [COMMAND=/usr/lib/update-notifier/package-system-locked]
Nov 19 09:37:27 host_name pkexec[34396]: ubuntu_user: Error executing command as another user: Not authorized [USER=root] [TTY=unknown] [CWD=/home/ubuntu_user] [COMMAND=/usr/lib/update-notifier/package-system-locked]
...
Nov 19 09:37:43 host_name sudo: pam_unix(sudo:session): session closed for user root

mysql에서 SHOW PLUGINS 명령을 사용할 때 팸 플러그인이 활성화되어 있는 것을 볼 수 있습니다.추가한 구성 파일에plugin_load_add = auth_pam하지만 여전히 도움이 되지 않습니다.

여기서 무엇이 문제가 될 수 있는지, 그리고 어떻게 그 문제를 해결할 수 있는지 아는 사람이 있습니까?

언급URL : https://stackoverflow.com/questions/58930512/how-to-fix-mariadb-authentication-plugin-pam

반응형