저는 몇 대의 Linux 워크스테이션(RedHat 7)을 설정하려고 하며 몇 가지 특이한 요구 사항이 있는 LDAP 서버에 대한 인증을 설정하는 방법을 알아내려고 노력하고 있습니다.
기본적으로 sssd를 사용하여 LDAP 인증을 설정하는 방법을 알고 있지만 요구 사항을 충족하기 위해 특정 사용자에게만 인증을 제한하는 방법을 모르겠습니다.
LDAP 구성을 활성화하려면 다음 명령줄을 사용합니다.
authconfig --enableldap --enableldapauth --ldapserver="<redacted>" --ldapbasedn="<redacted>" --update --enablemkhomedir
이렇게 하면 모든 LDAP 사용자가 로그온할 수 있으며 내가 아는 한 잘 작동합니다. 그러나 내 요구 사항은 LDAP의 일부 사용자만 로그인할 수 있고 사용자 목록은 별도의 텍스트 파일(사용자 로그인 이름 기준)로 제공된다는 것입니다.
추가 정보: 우리는 수천 명의 사용자를 보유한 LDAP 서버(실제로는 Active Directory)를 보유하고 있습니다. 이러한 워크스테이션에서 작업해야 하는 사람 중 약 20명만 이 워크스테이션에 로그온할 수 있도록 허용해야 합니다. 안타깝게도 LDAP에는 이와 관련된 정보가 전혀 포함되어 있지 않으며 LDAP 서버에 대한 제어 권한도 없습니다. 대신, 몇 주에 한 번씩 로그온을 허용해야 하는 사용자 이름 목록이 포함된 텍스트 파일을 받습니다.
사용자 이름/비밀번호/사용자 ID 등에 LDAP를 사용하면서 이 목록에 있는 사용자로만 제한하도록 인증을 설정하려면 어떻게 해야 합니까?
답변1
나는 필요한 것을 달성하는 두 가지 방법을 찾았습니다. 첫 번째는 thrig가 설명한 것이었습니다. 각 사용자 이름을 /etc/security/access.conf에 개별적으로 추가해야 했습니다.
두 번째 옵션은 sssd.conf에 LDAP 쿼리 문자열을 지정하는 것입니다.
ldap_access_filter = (|(userid=user1)(userid=user2).....)
두 번째 솔루션은 구축하기가 매우 지루하지만 sssd가 소수의 LDAP 레코드만 검색하기 때문에 대규모 LDAP 환경에서 큰 성능 이점을 얻게 됩니다.
답변2
해당 사용자를 그룹에 넣은 다음 사용자가 해당 그룹에 있는 경우에만 로그인을 허용하는 pam_access
규칙 을 사용합니다( 필요한 경우 모든 시스템 관리자 및 모니터링에 대해서도). 예:/etc/security/access.conf
root
+ : root wheel nagios : ALL
+ : yourusergrouphere : ALL
- : ALL : ALL