Samba 权限需要执行 attrib 来列出文件夹内容吗?

Samba 权限需要执行 attrib 来列出文件夹内容吗?

好的,我的服务器上运行着 Samba,我注意到它无法显示文件夹内容,除非使用 chmod 700 设置文件夹,为所有内容赋予 rwx 属性,而不是使用 chmod 600 仅赋予 rw 属性。我很好奇为什么会这样。我有几个文件夹里面有媒体,我想使用“chmod -R 644”设置它们,据我所知,这将赋予所有者读/写访问权限,而其他所有人都只读访问权限。但是,如果我使用这些设置,当我使用 samba 登录时(我的 Linux 用户名和 Samba 用户名相同),它会显示文件夹是空的。

这是我的 smb.conf

[3TB]
    writeable = yes
    force directory mode = 744
    valid users = jack,kodi,technovore
    case sensitive = yes
    user = jack,kodi,technovore
    force create mode = 744
    create mode = 744
    comment = Root 3TB on IACON
    delete readonly = yes
    path = /media/3TB

如果我使用电影文件夹的属性,那么一切都很好,我甚至可以使用 700 而不是 777。但是,如果我使用该设置看电视,它将显示文件夹但不显示内容。777 对 644。有人能解释为什么会发生这种情况吗?

文件夹属性

答案1

在目录上执行位用于允许用户进入目录(遍历)。如果不设置执行位,您将无法读取或操作目录的内容。默认情况下,目录权限为 0775。这意味着每个人都可以查看和操作其中的文件。创建的文件具有默认权限 0664。这意味着用户和组具有读写权限,而其他所有人都具有读取权限。

例外情况是 root 用户创建权限设置。目录的权限为 0755,文件的权限为 0644。这仍然允许所有用户查看目录中的文件,同时仅允许 root 用户具有读写权限。

您需要允许用户以目录权限访问目录,并以文件权限操作文件。

这需要在共享目录上进行初始设置。然后,您可以使用此设置提供共享文件和目录创建权限 [share] ... create mask = 0664 directory mask = 0775

创建掩码用于文件权限和目录掩码用于目录权限。由于所有权限均由最新的 umask 设置定义,因此您可以将掩码配置视为 Samba 的共享 umask 设置。

相关内容