通过 mac osx 连接时 Samba 上新目录和文件的权限

通过 mac osx 连接时 Samba 上新目录和文件的权限

我正在使用 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

http://discussions.apple.com/thread.jspa?messageID=7349655

相关内容