%EC%97%90%20%EB%A1%9C%EA%B7%B8%EC%9D%B8%ED%95%98%EB%8A%94%20%EB%8F%99%EC%95%88%20%EB%8B%A4%EB%A5%B8%20posixgroup%20%EB%A9%A4%EB%B2%84%EC%8B%AD%EC%9D%84%20%EA%B0%80%EC%A0%B8%EC%95%BC%20%ED%95%A9%EB%8B%88%EB%8B%A4..png)
Unix 클라이언트가 있는 openLDAP 서버로 다음 목표를 달성하는 방법에 대한 아이디어
목표: a) 각 사용자는 LDAP 서버 설정을 통해 서로 다른 호스트(유닉스 서버)에 대한 별도의 액세스 제한을 가져야 합니다. b) 로그인한 각 사용자(허용된 경우)는 LDAP 서버 설정을 기반으로 서로 다른 시스템에서 별도의 posixgroup 멤버십을 가져야 합니다. 예를 들어 사용자 janaki는 server-1에서는 sudo posixgroup 구성원이어야 하지만 server-2에서는 구성원이 아닙니다.
다음과 같이 part-a 목표를 달성할 수 있었습니다.
LDAP 오버레이(memberof 및 refint)를 사용하여 사용자에 대한 별도의 액세스 제한이 필요한 각 시스템/호스트에 대해 구성원 속성이 있는 별도의 그룹(objectClass groupofNames)을 만듭니다. 각 서버에 대한 인증 액세스를 활성화하려면 LDAP 서버의 이러한 그룹(groupofnames 유형)에 사용자(posixAccount)를 추가하세요. 클라이언트 시스템(unix 서버)에서 nss_base_passwd 필터를 추가하여 memberof=cn=group-name(LDAP에서 이 서버를 나타내는 그룹 이름)을 테스트합니다. 이것은 성공적이며 작동 중입니다.
필요한 것은 part-b를 달성하는 방법입니다. 즉, 이를 달성하려면 openldap 서버와 unix-clients에 어떤 구성이 필요합니까?
-Janaki에게 안부 인사
답변1
LDAP에서 객체 클래스 posixGroup을 사용할 수 있습니다. 이 개체 클래스를 사용하면 각 클라이언트 컴퓨터의 Unix 그룹에 해당하는 그룹을 만들 수 있습니다. 그런 다음 사용자의 UID를 지정하는 memberUid 속성을 사용하여 이러한 그룹에 사용자를 추가할 수 있습니다. 클라이언트 시스템에서는 /etc/ldap.conf 파일의 nss_base_group 필터를 구성하여 LDAP 서버에서 posixGroup 객체를 검색할 수 있습니다. 이를 통해 클라이언트 컴퓨터는 LDAP 서버의 그룹 구성원 정보를 사용하여 사용자가 로그온할 때 Unix 그룹 구성원을 확인할 수 있습니다. 제가 제안할 수 있는 또 다른 방법은 pam_ldap 모듈을 사용하여 사용자를 인증하고 사용자가 로그인할 때 LDAP 서버 설정에 따라 그룹 멤버십을 설정하는 것입니다.
편집 1(참조를 위한 설명 확인): 예, posixGroup 객체 클래스와 nss_base_group 필터를 사용하여 다양한 클라이언트 시스템의 다양한 사용자에 대해 다양한 Unix 그룹 멤버십을 갖는 목표를 달성할 수 있습니다.
이를 위해 클라이언트 시스템에서 사용하려는 각 그룹에 대해 LDAP 서버에 posixGroup 개체를 생성할 수 있습니다. 그런 다음 memberUid 속성을 사용하여 각 그룹의 구성원인 사용자의 UID를 지정할 수 있습니다.
클라이언트 시스템에서는 /etc/ldap.conf 파일의 nss_base_group 필터를 구성하여 LDAP 서버에서 posixGroup 개체를 검색할 수 있습니다. 예를 들어 클라이언트 시스템의 /etc/ldap.conf 파일에 다음 줄을 추가할 수 있습니다.
nss_base_group ou=Groups,dc=example,dc=com?one
이렇게 하면 클라이언트 시스템이 LDAP 서버의 그룹 OU에서 posixGroup 개체를 검색하고 해당 개체의 정보를 사용하여 사용자가 로그인할 때 Unix 그룹 멤버십을 설정합니다.
pam_ldap 모듈을 사용하여 사용자를 인증하고 로그인 시 LDAP 서버 설정에 따라 그룹 멤버십을 설정하는 것이 가능합니다. pam_ldap 모듈은 LDAP 서버를 사용하여 사용자를 인증하고 사용자가 클라이언트 시스템에 로그인할 때 그룹 멤버십을 설정하도록 구성할 수 있습니다.
pam_ldap 모듈을 사용하려면 클라이언트 시스템의 /etc/pam.d/common-auth 파일에 다음 줄을 추가할 수 있습니다.
auth sufficient pam_ldap.so
그러면 pam_ldap 모듈이 LDAP 서버를 사용하여 사용자를 인증하고 LDAP 서버의 정보를 기반으로 그룹 멤버십을 설정하게 됩니다.