环境介绍:
PDC(域控制器)
操作系统: Windows server 2003 企业版
主机名:pdc.test.com
Netbios name:pdc
域名:test.com
IP 地址:192.168.0.222
客户端:
操作系统:RedHat AS 4.0
主机名: redhat4
Netbios name : linux
IP 地址:192.168.0.251
Samba 版本:3.0.12
配置 NSS
[root @test root] # vi /etc/nsswitch.conf
passwd: files winbind
group: files winbind
配置 samba
[root @test root] # vi /etc/samba/smb.conf
#============ Global Setting============
workgroup = test
# 这里一定要设置成 PDC 的 netbiosname ,如果设置成 test.com 的话,虽然可以加入域,但用 net rpc testjoin 测试 samba 的域成员关系时,会显示“unabled to find a suitable server join to domain”TEST.COM” is not valid”
netbiosname = linux2
server string = Samba server
log file = /var/log/samba/%m.log
max log size = 50
security = domain
password server = pdc.test.com
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
wins support = yes
dns proxy = no
idmap uid = 15000-20000
idmap gid = 15000-20000
template shell = /bin/false
winbind use default domain = yes
winbind enum groups = yes
winbind enum users = yes
winbind separator = /
template homedir = /homes/%D/%U
参数解析:
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将使用该分隔符来用户或组名。使用该配置将使得域用户表示为 "MYDOMAIN+username",域组被表示为"MYDOMAIN+Domain Users"
winbind enum groups和winbind enum users : 指定winbind是否在系统上创建域的组/用户,一般情况下都要设置为yes,除非你处于某种原因希望关闭该功能。
template homedir : 用来指定为域用户产生主目录。上面的示例中使用了变量替换,将使得winbind把用户主目录设置为/homes/MYDOMAIN/username。
需要注意的是如果希望特定域或者所有域用户在samba目录有主目录,那么管理员必须手工创建,虽然template homedir控制samba在哪里寻找域用户的主目录,但是不会自动创建。
[homes]
Path = /homes/%D/%U
Writable = yes
Browseable = no
Valid users = %U
配置 kerberos
[root @test root] # vi /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log