Samba:可能没有读访问权限而只有写访问权限吗?

Samba:可能没有读访问权限而只有写访问权限吗?

在 Samba 上可以有仅具有写权限, 但无读取权限没有浏览权限

我正在尝试解决此访问问题:

在虚拟机中运行的 Windows XP 或 Windows7 机器连接到 Samba 共享。

这台机器必须将文本文件写入共享目录。

(机器可以在本地写入文件,然后将该文件复制到网络,这是可以接受的。)

该机器可能没有权限读取共享目录中的任何其他文件。

一旦文件完全保存,它必须放弃对正在写入/复制的文件的访问权限。

我如何实现这个目标?

答案1

总结:是的,这是可能的。在 Linux 端,授予父目录权限 300。

详细解释

请注意,对于文件来说,典型的rwx三元组表示权限r=读取、w=写入和x=执行。

但对于目录来说,这种权限具有不同的含义:r= 浏览目录,w= 创建或删除文件,x= 下降到目录或其下以访问文件或目录。

换句话说,如果您在没有r权限的情况下创建目录,那么用户将无法浏览它,但是只要事先知道文件名,他就能够访问该目录下的文件或目录(访问意味着根据分配给文件本身的权限读取或写入文件)。

请记住,Linux 权限的工作级别低于 Samba 权限,即使您编辑您的smb.conf权限以提供明显更广泛的权限,如果 Linux 级别权限比 Samba 权限更严格,它仍会获胜。

例如,此方案允许创建目录,允许创建文件并写入文件,但不能浏览这些文件的列表或从中读取文件:

mkdir dir
chmod 300 dir         # 300 = -wx------

请注意,必须在 Linux 端创建此目录 - Windows 客户端可能无法以适当的权限创建它。

相关内容