作者:georgehu
来自:Linux知识宝库
http://www.douzhe.com/docs/linux/
鉴于网络上已有大量文章描述了SAMBA的方方面面,本文不是一个SAMBA的完全使用指南。作者假设您已了解了该组件的许多基本内容。本文只是从实践的角度给出了一个SAMBA PDC配置的各重要事项。
本文参考了SAMBA 的安装文档以及MAN PAGE。
作为PDC的角色,Samba 2.2.x 提供了以下新特性:
Windows NT 4.0/2000/XP 客户的DOMIAN登录
Windows 9x 客户的用户级安全
从SAMBA PDC上提取用户和组信息给 Windows 9x/NT/2000 clients
用户profile文件的漫游
Windows NT 4.0 风格的系统策略
而以下是SAMBA PDC现在还不能提供的功能:
Windows NT 4 域信任
与 NT4.0 域控制器之间的SAM复制
通过域用户管理器加入用户
不是Windows 2000 域控制器(注:这是由于SAMBA PDC 在AD和Kerberos功能上的
缺失。但WIN2000的客户可以把SAMBA PDC作为一个NT4.0域控制器。)
1. smb.conf 配置要素:
[global]
security = user
status = yes
workgroup = { Your domain name here }
wins server = { ip of a wins server if you have one }
encrypt passwords = yes
domain logons =yes
logon script = scripts%U.bat
domain admin group = @adm
add user script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %m$
guest account = ftp
share modes=no
os level=65
[homes]
guest ok = no
read only = no
create mask = 0700
directory mask = 0700
oplocks = false
locking = no
[netlogon]
path = /usr/local/samba/netlogon
writeable = no
guest ok = no
要点讲解:
add user script: 这里是用来加入一个机器,不是用户。
domain admin group = @adm: 指定了一个 unix group, 当它的成员从一个NT workstation 登录后, 将被赋予管理权限。您可以用LINUX的用户管理界面来查看这个adm组.
2. 将机器加入Domain
Windows NT (手工)
在LINUX上执行以下指令:
/usr/sbin/adduser -n -g machines -c MachineName -d /dev/null -s /bin/false %m$
注:-g是unix的group名称. 最好用machines来表示这个特殊的机器组.
-c是您要加入的windows机器的netbios名称.
如果您够仔细的话会发现这和SMB.CONF文件中的一行是一样的
接着要让SAMBA知道这个机器:smbpasswd -a -m {machine} 注:MACHINE的名字与上面相同
在 NT WORKSTATION上进入 Control Panel, Network Identification
点Change, 在DOMAIN 字段中输入Domain 名字(在 smb.conf 中的Workgroup 参数 )
点OK.等会儿出现Welcome to Whatever Domain. 重启动
Windows 2000 (自动)
以Administrator本地登入WIN2K的机器.
按标准的WIN2000加入域方法加入.这里不再提示
重要:当加入域时会提示您输入域管理员的名称和密码.这里必须使用LINUX端的root帐号!!.
也就是说,当前的samba pdc必须是root为超级用户
3.系统策略和Profiles
最好在NT WORKSTATION上使用NT SERVER的POLEDIT.EXE来管理. 在NT SP3(或更新)的CD上 运行以下命令 servicepackname /x 来单独的解开poledit.exe和模板文件*.adm。
4.Windows NT Access Control Lists (NT 存取控制列表)
在实现SAMBA PDC的过程中,最有意思也是最有挑战性的问题就是SAMBA的nt acl支持了(nt_acl_support)。简单地说,就是您可以在win2000pro和nt workstation上直接地进行samba pdc上的文件共享的权限控制! 而且这是彻底的NT方式!
本人在这个问题上遇到了困难,经过多方查证,终于知道在linux上实现这个功能必需使用xfs文件系统!传统的Linux文件系统需要重新打补丁编译内核以及升级所有的ext2 下的工具.. 所以,如果您有这样的需求,请安装一个xfs文件系统。(本人在Mandrake 8.1下已实现)
请参阅这篇位于ibm develop network上的文章:
http://www-106.ibm.com/developerworks/linux/library/l-samba/?dwzone=linux
5.进一步阅读:Samba的联机文档上提供您所有问题的答案的最佳选择,请仔细阅读并实践之。
6.最后:现在最新的samba 2.2.2已经发布,没有增加什么新功能,但在现有功能上作了最好的补丁,应该说是相当稳定了。如果您要实现一个上述水平的PDC,请安装之。