我们有2个运行samba 3.0.28a-1ubuntu4.12的 ubuntu 8.04 LTS文件服务器,它们为windows server 2003机器导出samba共享。 没有Windows AD域,只是普通的用户authentication。 从/etc/samba/smb.conf :
[global] workgroup = WORKGROUP security = SHARE passdb backend = smbpasswd:/etc/samba/smbpasswd unix password sync = no syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 dns proxy = No panic action = /usr/share/samba/panic-action %d encrypt passwords = true invalid users = root hosts allow = 10.1.1.0/24 [md0] comment = md0 path = /mnt/md0/smb/share1 valid users = user1 force user = root force group = root read only = no create mask = 0660 directory mask = 0770 browseable = Yes
/mnt/md0/是一个raid系统,由于历史的原因,文件权限是root.root 。
在Windows Server 2003机器上,我们使用脚本访问共享:
net use t: \\fileserver0\md0 passwordforuser1 /user:user1
在Windows机器上,我们现在看到Unix user\root作为所有者:

这在逻辑上是正确的。
但有没有机会改变桑巴configuration,所以我们看到user1.user1所有者在Windows端,而不是Unix user\root ?
首先,您可以在samba中调整组映射,以调整将显示的组:
net groupmap add unixgroup=root ntgroup=user1
其次,您可以通过添加来修改samba.conf来映射单个用户
username map = /etc/samba/smbusers
到[global]部分,然后使文件/ etc / samba / smbusers包含:
root: user1