10000부터 시작하는 LDAP 사용자 및 그룹 ID로 openLDAP 서버를 구성했습니다. 내 클라이언트가 LDAP 서버에 성공적으로 바인딩되었습니다 ldapsearch
. 또한 getent passwd|group
로컬 및 원격(LDAP) 사용자|그룹의 전체 목록이 반환됩니다. 클라이언트의 내 로컬 사용자 johndoe(uid=1000)도 LDAP 디렉터리에 uid 10000으로 존재합니다. 중복되는 로컬 사용자와 LDAP 사용자(사용자 이름만 공통)는 비밀번호가 다릅니다.
장면 1:내 Linux Mint 17 클라이언트에서 Cinnamon 데스크탑을 통해 johndoe로 로그인하면 id -G
및 id -G <user>
명령이 다른 그룹 세트를 반환합니다.
$ whoami
johndoe
:~$ id -G
1000 4 7 24 27 30 33 46 100 112 118 119
:~$ id -G johndoe
1000 4 7 24 27 30 33 46 100 112 118 119 10000 10001 10002 10003 10005 10006 10007 10008 10004 10009 10010
gids > 10000은 LDAP 디렉터리에 있으며 사용자 이름이 명시적으로 지정된 경우에만 나타납니다.
시나리오 2:사용자를 원격 johndoe 계정으로 전환한 후(LDAP 비밀번호로 인증) 유효 ID와 실제 ID가 일치합니다.
:~$ whoami
johndoe
:~$ su johndoe
Password:
:~$ whoami
johndoe
:~$ id -G
1000 4 7 24 27 30 33 46 100 112 118 119 10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010
:~$ id -G johndoe
1000 4 7 24 27 30 33 46 100 112 118 119 10000 10001 10002 10003 10005 10006 10007 10008 10004 10009 10010
첫 번째 경우에는 내 CIFS 네트워크 공유(LDAP 사용자 및 그룹만 액세스하도록 구성됨)를 읽을 수 없습니다. 그러나 두 번째 시나리오에 표시된 것처럼 사용자를 전환한 후에는 원래 의도한 대로 동일한 공유에 액세스할 수 있습니다.
나는 LDAP를 처음 접했기 때문에 이 기사는 나의 무지를 확실히 보여줍니다. 즉, 로컬 및 원격 사용자 이름을 겹치는 모범 사례는 무엇입니까(예: 그렇게 하지 말고 별도의 uid를 유지하고 비밀번호를 결합하는 등...) 기본적으로 LDAP 그룹을 사용하도록 클라이언트를 구성하는 방법은 무엇입니까? 두 번째 로그인을 피하고 계십니까?
FWIW, 클라이언트의 /etc/nsswitch.conf에는 다음이 포함됩니다.
passwd: files ldap
group: files ldap
shadow: files ldap
클라이언트 커널:
:~$ uname -a
Linux my-client 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux