programing

MariaDB Active Directory 인증확인

muds 2023. 9. 18. 22:46
반응형

MariaDB Active Directory 인증확인

AD를 사용하여 MariaDB로 인증하는 데 문제가 있습니다.

지금까지 제가 한 일은 이렇습니다.

  1. 플러그인 auth_pam 사용

    MariaDB [(none)]> INSTALL SONAME 'auth_pam';
    
    MariaDB [(none)]> show plugins;
    +--------------------------------+----------+--------------------+-------------+---------+
    | Name                           | Status   | Type               | Library     | License |
    +--------------------------------+----------+--------------------+-------------+---------+
    | binlog                         | ACTIVE   | STORAGE ENGINE     | NULL        | GPL     |
    | pam                            | ACTIVE   | AUTHENTICATION     | auth_pam.so | GPL     |
    +--------------------------------+----------+--------------------+-------------+---------+
    43 rows in set (0.00 sec)
    
  2. AD에 존재하는 사용자 이름으로 db에 사용자를 생성했습니다.

    MariaDB [mysql]> GRANT ALL ON *.* TO xyz IDENTIFIED WITH pam AS 'mariadb';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [mysql]> select user, password, host from user;
    +--------------+-------------------------------------------+------+
    | user         | password                                  | host |
    +--------------+-------------------------------------------+------+
    | root         | *1114CDA5E6E               8254812 | %    |
    | xyz          |                                           | %    |
    +--------------+-------------------------------------------+------+
    5 rows in set (0.00 sec)
    
    MariaDB [mysql]>
    
  3. 내가 만든 다음/etc/pam.d/mariadb

    #%PAM-1.0
    auth       include  system-auth
    account    include  system-auth
    password   substack system-auth
    -password   optional    pam_gnome_keyring.so use_authtok
    password   substack postlogin
    auth        sufficient    pam_krb5.so use_first_pass no_validate
    
  4. 이제 AD로 기계에 로그인합니다.

    sh-4.2$ su xyz
    Password: 
    sh-4.2$ whoami
    xyz
    sh-4.2$
    
  5. 그리고 마침내 LDAP를 사용하여 MariaDB 인증을 시도했습니다.약 20초가 소요된 후에 다음과 같이 주장합니다.

    sh-4.2$ mysql -u xyz --password=Tog4hP@ssw0rd
    ERROR 1045 (28000): Access denied for user 'xyz'@'localhost' (using password: NO)
    sh-4.2$ 
    

문제는 명령으로 비밀번호를 넘겨줬다는 겁니다마리아는 왜 그렇게 불평하는 거지?(using password: NO)?

게다가, 나는 에 있습니다.tail /var/log/secure -f내가 생각하기에 약간 빛을 발할 수 있는 몇 줄의 대사.

    May 28 15:58:40 localhost mysqld: pam_unix(mariadb:auth): authentication failure; logname= uid=27 euid=27 tty= ruser= rhost=  user=xyz
    May 28 15:58:40 localhost mysqld: pam_krb5[3452]: error reading keytab 'FILE:/etc/krb5.keytab'
    May 28 15:58:40 localhost mysqld: pam_krb5[3452]: TGT verified
    May 28 15:58:40 localhost mysqld: pam_krb5[3452]: authentication succeeds for 'xyz' (xyz@******.**.ORG)

도와주시겠습니까?

두 가지 문제가 있습니다.

WITH가 아닌 VIA 옵션을 사용하여 사용자를 생성해야 합니다.

'mariadb'를 사용하여 pam을 통해 식별된 'dbversity'@'%'에 대한 모든 권한을 부여하려면 SSL이 필요합니다.

둘째, 당신의 mariadb pam 파일은 아래와 같습니다.

[root@dbversity.com ~]# cat /etc/http.d/httpadb

auth required pam_krb5.so minimum_uid=1000 no_user_check

계정 필수 pam_krb5.so no_user_check

[root@dbversity.com ~]#

언급URL : https://stackoverflow.com/questions/23912434/mariadb-active-directory-authentication

반응형