以下是相关的smb.conf部分:
[someshare] path = /somewhere read only = No writeable = Yes guest ok = Yes create mask = 0777 security mask = 0777 directory mask = 0777 force create mode = 0777 directory security mask = 0777
假设user1在该共享上创build一个目录。 它的权限将是: drwxr-xr-x ,所有者将是user1。
虽然user2可以访问由user1创build的目录,但在尝试在该目录上创build文件时,会收到权限错误。
对我来说,似乎很奇怪,由user1创build的目录的权限不是在smb.conf中指定的777 …
编辑 :我忘了提到一个奇怪的错误,popup在客户端日志权限被拒绝时:
[2009/06/24 03:02:18, 0] smbd/trans2.c:unix_filetype(1130) unix_filetype: unknown filetype 0
我错过了什么?
你错过了:
force directory mode = 0777
另外,你真的想用0666强制创build面具。 可能没有理由强制执行位。
将权限更改为777总是让我紧张,即使这是一个家庭项目。 相反,将所有samba用户添加到组(如samba_user),然后在smb.conf中添加以下行:
force group = samba_user
当然,你也必须chgrp所有必要的文件夹。 然后你可以设置更细粒度的权限,允许别人在他人的文件夹中做他们的事情,而你的服务器不会变成免费的。 有人想拥有一个私人文件夹? 只需将该文件夹的组从samba_user更改回用户的私人组。
我猜这是smb.conf中的权限被用作一个掩码以及在用户configuration文件中指定的那两个,这两个将会聚集在一起而不是直接存储,所以如果samba说777和用户的掩码是755,结果会得到755。
您看到的权限被拒绝的消息只是同意您所看到的针对这些文件logging的权限。 你看到的额外的错误信息我不确定。