LDAP:具有相同用户名的本地和远程用户

LDAP:具有相同用户名的本地和远程用户

我已经配置了一个 openLDAP 服务器,其 LDAP 用户和组 ID 从 10000 开始。我的客户端通过 成功绑定到 LDAP 服务器ldapsearch。此外,getent passwd|group还返回本地和远程 (LDAP) 用户|组的完整列表。我在客户端上的本地用户 johndoe (uid=1000) 也以 uid 10000 的形式存在于 LDAP 目录中。重叠的本地用户和 LDAP 用户(只有用户名是通用的)具有不同的密码。

场景一:在我的 Linux Mint 17 客户端上,当通过 Cinnamon 桌面以 johndoe 身份登录时,id -Gid -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

相关内容