我正在使用 ubuntu server 10,并且我的 smb.conf 中有以下配置:
[www]
comment = Web files
path = /var/www
browsable = yes
writeable = yes
create mask = 0775
directory mask = 0775
valid users = @developers
当我连接槽苹果电脑机器并创建一个文件或目录,权限设置为 755。
为什么?
答案1
其工作方式似乎根据您使用“cifs://”还是“smb://”URL 连接到共享而改变(即,您在 Finder 的“连接到服务器”对话框中输入的位置以“cifs”还是“smb”开头)。
如果您使用“cifs://”URL 进行连接,则 OS X 将尝试使用此处其他答案中描述的“UNIX 扩展”,并且复制或移动到共享的文件将保留它们在源驱动器上的权限,无论共享的各种权限掩码/模式设置如何。我认为这可能是由于 Samba 中的错误(如果有人感兴趣,我使用的是 Debian Squeeze 的 3.5.6 - 2:3.5.6~dfsg-3squeeze8)。
但是,如果您使用“smb://”URL 进行连接,则不会使用 UNIX 扩展,并且权限将由以下文件设置决定:
强制创建模式,创建掩码,安全掩码,强制安全模式
这些是目录:
强制目录模式,目录掩码,目录安全掩码,强制目录安全模式,
哦,别忘了:
地图隐藏,地图存档,地图系统
可能还有更多我忘记的,但这些是最常见的。请参阅 smb.conf 的手册页,了解所有这些设置如何工作的详细信息。
您可以使用“unix 扩展”设置禁用所有连接,无论是使用 cifs:// 还是 smb:// URL,以像更基本的 smb:// 连接一样运行。使用 UNIX 扩展的优点包括链接(符号或硬链接)等功能可以正常工作。不幸的是,这是一个全局设置,不能按共享设置(至少对于我这里的 Samba 版本)。
答案2
“创建掩码”只是意味着允许 samba 用户修改掩码范围内的权限,这意味着如果您将其设置为 777,则用户可以修改所有位。这与 unix 文件掩码不同。您的设置是 0775,这意味着用户可以修改用户 (rwx)、组 (rwx) 和其他 (rw) 的权限。这并不意味着文件将使用这些权限创建,只是用户能使用这些权限。要强制一组权限,请使用以下命令:
security mask = 0550
force security mode = 0550
directory security mask = 0550
force directory security mode = 0550
顺便问一下,您想获得什么权限?
答案3
过了一会儿,我弄清楚了如何设置这个全局变量:unix extensions = off