Amazon Linux 2023 removed authconfig (feat: LDAP)

강다·2024년 2월 14일
0

LDAP Client 설정중 LDAP 인증 및 계정 관리를 위한 구성 설정이 필요하고, 이를 위해 authconfig를 많이 사용한다. 이는 시스템의 인증 설정을 관리하는 도구로, PAM과 NSS(Name Service Switch) 등의 설정을 한 곳에서 관리할 수 있게 해준다.

LDAP Client를 구성하던 중 참고한 여러 포스팅이나 문서에서도 대부분 authconfig를 사용했다.
하지만, authconfig는 CentOS8부터 deprecate되었고, authselect 사용을 지향한다고 한다.

Amazon Linux 2023의 경우 CentOS Stream 9기반이며, 공식적으로 authconfig를 지원하지 않는다. (참고 : https://github.com/amazonlinux/amazon-linux-2023/blob/main/Release-Notes-Amazon-Linux-2023.0.2023.0322.0.md)

authconfig 적용 후에 여전히 LDAP Server의 계정이 Client에서 조회가 안 되었기 때문에 조금 서치 해보고 authselect를 사용해야 한다는 사실은 금방 알 수 있었다.
그런데,, 다들 authselect를 써야한다고 알려만 줄 뿐 자세한 사용법은 찾기가 어려웠다. 내가 적용하려는 authconfig 명령어가 authselect를 사용했을 때 어떤식으로 바뀌어야 하는지 알아내는 데에 시간을 좀 많이 뺐다ㅜ.


기존 명령어 :

authconfig --enableldap --enableldapauth --ldapserver=MASTERIP,SLAVEIP --ldapbasedn="dc=test,dc=com" --update
  • --enableldap : LDAP을 이용해 사용자 및 그룹 정보를 가져올 수 있도록 NSSWitch 구성 변경
  • --enableldapauth : LDAP을 사용해 사용자 인증 활성화
  • --ldapserver=MASTERIP, SLAVEIP : LDAP 서버의 주소 지정
  • --ldapbasedn= : LDAP에서 검색할 기본 DN 지정

authconfig는 편리하게 필요한 설정들을 자동으로 바꿔주는 역할을 할 뿐 절대적인 명령어가 아니기 때문에 두 가지 대안이 있다.

1. authconfig가 바꿔주는 부분들을 수동으로 바꾼다.
2. authselect를 사용한다.



수동 변경

아래 파일들에서 pam_unix를 찾아 전부 pam_ldap으로 변경
(pam_unix는 시스템의 기본 인증 모듈로 /etc/passwd와 /etc/shadow 파일을 이용해 사용자를 인증하고, pam_ldap은 LDAP 디렉토리를 이용해 사용자를 인증한다.)

vi 에디터에서 -> :%s/pam_unix/pam_ldap/g

  • /etc/pam.d/password-auth : 사용자 인증 관리(비밀번호 관련)
  • /etc/pam.d/system-auth : 사용자 인증 관리(시스템 전체의 인증방식 결정)
  • /etc/nslcd.conf : LDAP 서버의 주소, 포트, 사용자 DN 등 정의
  • /etc/nsswitch.conf : 시스템이 사용자 이름, 그룹 이름, 호스트 이름 등 어떻게 조회할 것인지 결정



authselect 적용

# authselect 설치
$ yum install authselect 

# authselect를 이용해 sssd(System Security Services Daemon) 기반의 새로운 프로필 ldap을 생성 
$ authselect create-profile ldap -b sssd --symlink-meta --symlink-pam

# 인증 처리 모듈을 SSSD(pam_sss) -> LDAP(pam_ldap) 변경
$ sed -i "s/[pam_sss.so/pam_ldap.so/g](http://pam_sss.so/pam_ldap.so/g)" /etc/authselect/custom/ldap/system-auth
$ sed -i "s/[pam_sss.so/pam_ldap.so/g](http://pam_sss.so/pam_ldap.so/g)" /etc/authselect/custom/ldap/password-auth
$ sed -i "s/sss/ldap/g" /etc/authselect/custom/ldap/nsswitch.conf

# 이제 custom/ldap 프로필을 선택하게 함 
$ authselect select custom/ldap



두 방법 모두 이후 /etc/nslcd.conf에 LDAP Server 정보 추가

0개의 댓글