我有一个 Centos 服务器,安装的是 Samba 3.6。Samba 配置如下:
[global]
log level =2
follow symlinks = yes
wide links = yes
unix extensions = no
hide dot files = no
socket options = TCP_NODELAY IPTOS_LOWDELAY
security = share
passdb backend = tdbsam
[AsgardServer]
path = /local/asgard/asgard_server
public = yes
writable = yes
browseable = yes
guest ok = yes
follow symlinks = yes
wide links = yes
unix extensions = no
hide dot files = no
然后我将其作为 R:/ 挂载到 Windows 上,看起来没问题。但是 R:/ 下文件的安全属性是特定,而不是完全控制。服务器上所有这些文件的安全属性都是 0777,所有者是 root。那么我无法在 Windows 上修改这些文件。那么问题出在哪里?
答案1
设置所有者的解决方案之一是为每个共享添加读/写列表。您可以指定用户
read list = bob123 anna456
write list = bob123 anna456
或者使用 /etc/groups 中定义的组
read list = @dwarfs
write list = @wizards
要设置文件/目录模式(就 chmod 而言),您可以使用以下参数:
force create mode = 0666
force directory mode = 6775
或者
create mask = 644
directory mask = 755
包含数据的目录必须具有 unix 权限,允许 bob123 anna456 在其中读取和写入。如果目录 /local/asgard/asgard_server 由 root 拥有,并且它有标志 755,那么 Bob 和 Anna 都无法使用 samba 共享在此目录中写入。