我有一个通过Winbind成功join域的Redhat ES 6服务器(即,我可以使用域凭据login到Redhat服务器,没有问题)。
我现在想要做的是configurationWinbind自动添加用户到本地组,基于他们的域组。 因此,例如,说我在域名上的用户名是“DOMAIN \ coledot”,我是域名组“Arbitrary Group”的成员。 在Redhat机器上的/ etc / group文件中,我定义了本地组“testgrp”:
testgrp:x:10506:
如果我对Samba / Winbind组映射文档的理解是正确的,我应该能够使用net groupmap命令将本地组“testgrp”映射到域组“Arbitrary Group”:
net groupmap add ntgroup="Arbitrary Group" unixgroup=testgrp type=d
运行net groupmap list确认映射创build:
root@host # net groupmap list [...] Arbitrary Group (Sxx-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxx) -> testgrp
但是,当我运行groups命令时,即使我的用户显示为“任意组”组的一部分,“testgrp”也无处可寻。
我的问题是双重的:
1)我对net groupmap理解是否正确?
2)我怎样才能完成我的原始任务(通过域组映射域用户到本地组)?
我相信你可以在/etc/samba/smb.conf文件中完成。 如果您的本地Linux权限正确,则可以使用“强制组”string确保您使用正确的组成员关系连接。 导致用户失望的原因是,用户可能已经是本地Linux团队的成员,但就SMB而言,您从Windows连接到“Windows”的团队是这里最重要的。
EXAMPLE: [someshares] path=/path/to/someshares writable = yes browsable = yes valid users = @somegroup create mask = 0775 force create mode = 0775 directory mask = 0775 force group = somegroup
AFAIK从SMB组到Linux组的映射仅在域控制器上完成。 成员服务器自动执行此操作(全局通过LDAP或本地不同的idmap)。
我试图通过usermod将winbind用户添加到本地组。 这失败了。 也许用户可以完全由文件pipe理,也可以完全由winbind(指的是nsswitch.conf)pipe理,但不能同时pipe理。
如果这样做,那么你可以通过“getent group”获得组成员,并将其添加到本地组。 这可以定期完成(如果您无法访问数据中心),并且只需要在DC上创build帐户和第一次访问成员服务器(如果在下一次常规检查之前访问该数据)之间的时间有问题。