我们的分析一下,在这个项目中,由于是使用windowsPDC服务器对用户进行认证,那么可以将samba server运行在server级别上。
但是还有一个问题,windowsPDC已有的用户帐号与linux用户的帐号不同,而samba帐号又必须基于系统帐号,这意味着我们需要在linux系统上建立所有同名的windowsPDC上的帐号,再将这些帐号一一转成samba的帐号。
为了减少samba server上用户帐号配置的工作量,我们可以考虑在smb.conf配置文件中使用username map参数,这个参数可以设置一个用于用户名映射的文件,这个文件默认的/etc/samba/smbusers--我们现在又接触到了一个新的关于 samba配置文件;这个文件相当于给samba用户帐号设置一个别名,别名和windowsPDC帐号相同。例如,windowsPDC有帐号 administrator,而在linux中设定系统帐号是root,转换成samba用户帐号也仍是root,而在映射文件中,我们可以将samba 用户帐号root的别名指定为administrator。
好的,问题解决了,下面可以进行配置,WindowsPDC的域名是tail,主机名是pig,用户帐号有administrator、user1、user2、user3,首先,我们在linux系统上建立几个和win2000域用户帐号对应的系统用户帐号root、smbuser1、smbuser2、smbuser3,然后将它们一一转换为samba用户帐号。
在/etc/samba/smbusers文件中做映射,映射的格式是:
真实samba帐号 = 帐号别名
确保有以下内容:
root = administrator
smbuser1 = user1
smbuser2 = user2
smbuser3 = user3
注意,左边写smb用户的名称,右边写对应的win2000域用户的名称。
修改smb.conf配置文件:
[global]
workgroup = TAIL
netbios name = redflag
security = server
password server = pig.tail #samba运行在server或domain级别时,对帐号进行验证的的服务器netbios名
username map = /etc/samba/smbusers #帐号映射文件
接着,再建立各个用户的主目录
[homes]
comment = User's Home Directories
browseable = no
valid users = %S
writable = yes
这样就满足了最基本的功能,如果还需要其他权限的目录,既可以继续添加。
运行在server