我目前正在运行 OpenLDAP 服务器,将我的 Linux 用户作为 posixaccount 和 posixgroup 元素进行管理,如下所示:
dn: cn=shellinger,ou=groups,dc=company,dc=com
cn: shellinger
gidNumber: 5001
objectClass: posixGroup
objectClass: top
dn: cn=shellinger,ou=people,dc=company,dc=com
cn: Simon Hellinger
uid: shellinger
uidNumber: 5001
gidNumber: 5001
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
objectClass: top
...
Run Code Online (Sandbox Code Playgroud)
现在,除了主要组之外,Linux 组成员资格在每台机器上本地管理。这有效,但我认为违背了集中用户管理的目的。
我想我想要的是根据他们登录的机器为我的用户分配不同的组。通常我的用户在我所有的机器上都有有用的业务,所以我认为登录限制(基于主机或某个组)对于我的用例来说太粗粒度了。我想限制他们在每台机器上可以做什么,而不是他们是否可以登录;在我的心态中,这转化为他们所在的 Linux 组。
此外,每台机器上的每个用户的这些组(以及权限)可能有很大不同,在一台机器上拥有超级用户权限的人可以成为下一台机器上的普通用户。
用我的外行术语来说,这听起来像是基于角色的组分配,但是在将我的整个 LDAP 词汇表扔给 Google 和 serverfault 之后,我似乎仍然无法理解这一点。
总结起来,问题是:我的用例有效吗?我会以正确的方式解决这个问题吗?我应该在 LDAP 中管理 Linux 组吗?