分类: 系统运维
2011-10-20 00:02:24
根据上述要求,可以写如下Samba服务器主配置文件smb.conf。
[global]
workgroup = lycb # 指定AD域的NetBIOS名称。必须有这个语句,否则不能在域网络中搜索得到该Samba服务器
server string = File Server
netbios name = Sambaserver
security = ads # 指定Samba服务器的工作模式为ads
hosts allow = 172.16. 127.
encrypt passwords = yes
guest account = alice # 指定alice用户作为来宾访问账户
realm = lycb.local # 指定Windows域名(DNS格式)
password server = 172.16.0.1 # 指定担当身份验证服务器的服务器IP地址
[homes]
comment = Home Directories
browseable = no
writable = yes
path = /home/%U
valid users = %U
[share]
comment = All user's share directory
path = /usr/share
public = no
guest ok =yes
readonly = yes
[program]
comment = Program Files
path = /etc/program
valid users = @administrator alice # 指定该共享目录仅允许域网络中的administrtors组成员和alice用户访问
public = no
writable = yes
另外,建议在[global]部分使用以下所示配置,使得winbind服务可以列出Samba服务器加入的AD中的所有用户和组信息。确保在windbind服务运行时,可以使用在DC中的用户和组来进行类似文件/目录权限设置,以及samba共享定义等。
idmap uid = 15000-20000 # 指定一个uid范围,该范围内的uid被用来映射Linux用户到Windows用户SID,而且要确保这个id范围内没有被本地或者NIS用户占用,在winbind服务启动后,也不能在该ID范围内添加用户。
idmap gid = 15000-20000 # 指定一个gid范围,该范围内的gid被用来映射Linux用户到Windows的组SID,而且要确保这个id范围内没有被本地或者NIS组占用,在winbind启动以后,也不能在该ID范围内添加新组。
winbind enum groups = yes # 指定winbind服务是否能在系统上创建Windows域组。一般情况下都要设置为yes,除非你处于某种原因希望关闭该功能。
winbind enum users = yes # 指定winbind服务是否能在系统上创建Windows域用户。一般情况下都要设置为yes,除非你处于某种原因希望关闭该功能。
winbind separator = + # 指定一个字符作为分隔符,winbind将使用该分隔符来用户或组名。使用该配置将使得域用户表示为"MYDOMAIN+username",域组被表示为"MYDOMAIN+Domain Users"
template homedir = /homes/%D/%U # 用来指定为域用户产生主目录。使用变量替换可使winbind服务把用户主目录设置为/homes/MYDOMAIN/username。
template shell = /bin/bash # 控制samba在哪里寻找域用户的主目录。
然后,管理员需要手工编辑/etc/nsswitch.conf文件,这样winbind能实现使用域上的用户。具体将在7.4.3节介绍。
使用testparm命令检查主配置文件的语法和完整的综合有效设置,确认无识后即可进行下面的krb5.conf配置文件。
本文摘自《(金牌网管师——大中型企业网络组建》第七章