下面部分是一些在/etc/samba/smb.conf中使用的参数设置的示例,来实现创建(列出)你的samba服务器上的域用户和组信息。 这里假设samba服务器已经正常的加入到域中,而且samba服务已经设置为自动启动,在本例我们将使用MYDOMAIN这个域。 在[global]部分使用以下所示配置可以使得winbind服务列出damba服务器加入的DC(域控制器)中的所有用户和组信息。保证windbind服务运行时,你就可以使用在DC中的用户和组来进行类似文件/目录权限设置,以及samba共享定 义等。 # WINBIND STUFF idmap uid = 15000-20000 idmap gid = 15000-20000 winbind enum groups = yes winbind enum users = yes winbind separator = + winbind use default domain = no template homedir = /homes/%D/%U template shell = /bin/bash 这些设置的一个简单的说明如下: - idmap uid - 指定一个uid范围,该范围内的uid被用来映射UNIX用户到windows用户SID,而且要确保这个id范围内没有被本地或者NIS用户占用,winbind启动以后,也不能在该ID范围内添加用户。 - idmap gid - 指定一个gid范围,该范围内的gid被用来映射UNIX用户到windows的组SID,而且要确保这个id范围内没有被本地或者NIS组占用,winbind启动以后,也不能在该ID范围内添加新组。 - winbind separator - 指定一个字符作为分隔符,winbind将使用该分隔符来用户或组名。使用该配置将使得域用户表示为 "MYDOMAINusername",域组被表示为"MYDOMAINDomain Users" - winbind enum groups和winbind enum users - 指定winbind是否在系统上创建域的组/用户,一般情况下都要设置为yes,除非你处于某种原因希望关闭该功能。 - template homedir - 用来指定为域用户产生主目录。上面的示例中使用了变量替换,将使得winbind把用户主目录设置为/homes/MYDOMAIN/username。 需要注意的是如果希望特定域或者所有域用户在samba目录有主目录,那么管理员必须手工创建,虽然template homedir控制samba在哪里寻找域用户的主目录,但是不会自动创建。 然后,管理员需要手工编辑/etc/nsswitch.conf文件,这样winbind能实现使用域上的用户。在红帽知识库中有其他文章讨论该问题。 最后管理员需要重新起动samba服务,配置winbind自动启动,然后手工启动winbind。 # chkconfig --level 345 winbind on # service winbind start Starting Winbind services: [ OK ] 管理员可以使用wbinfo和getent测试基本的域用户和组的列出功能如下: # wbinfo -u MYDOMAIN+vince MYDOMAIN+Administrator MYDOMAIN+Guest # wbinfo -g MYDOMAIN+Domain AdminsMYDOMAIN+Domain UsersMYDOMAIN+Domain Guests # getent group quaggavty:x:102: quagga:x:92:radvd:x:75: radiusd:x:95: MYDOMAIN+Domain Admins:x:15008:MYDOMAIN+Administrator MYDOMAIN+Domain Users:x:15009: MYDOMAIN+Domain Guests:x:15010:MYDOMAIN+Guest # getent passwd radvd:x:75:75:radvd user:/:/sbin/nologin radiusd:x:95:95:radiusd user:/:/bin/false MYDOMAIN+vince:x:15001:15009:Vince:/homes/MYDOMAIN/vince:/bin/bash MYDOMAIN+administrator:x:15009:15009:Administrator:/homes/MYDOMAIN/ administrator:/bin/bash MYDOMAIN+guest:x:15010:15009:Guest:/homes/MYDOMAIN/guest:/bin/bash 需要注意的是:上面的wbinfo和getent命令的输出是经过裁剪的,以节省篇幅。 你可以看到,winbind将系统真实用户和域用户和组列在一起输出显示。 谨慎使用winbind的列组功能 很多域组包括空格,这时要确保在chown命令或smb.conf中使用域用户时要包包含空格的组名用引号括起来。 # chown :"MYDOMAIN+Domain Users" thisfile 包含空格的组名是一个麻烦,很多软件在处理包含空格组名时会出现只读空格前的情况。更多信息请参考 * /usr/share/doc/samba-version/docs * man wbinfo. * man smb.conf. |
转载于:https://blog.51cto.com/gary407568105/213610