Chr*_*oph 1 permissions samba samba4
我正在尝试了解 Samba 共享上的文件权限,但以下问题令我困惑,为什么 user1 和 user2 都可以删除彼此的文件,即使他们似乎没有这样做的权限。这些文件在运行 samba 服务器的 ubuntu 机器上如下所示:
-rwxr--r-- 1 user1 private 0 okt 8 00:43 'test file user1.txt'*
-rwxr--r-- 1 user2 private 0 okt 8 00:06 'test file user2.txt'*
Run Code Online (Sandbox Code Playgroud)
如果有什么关系的话, 和user1都是user2的成员private。两个用户都通过各自的 Windows 计算机访问共享,首先创建各自的文件,然后删除彼此的文件。
在smb.conf此共享中配置如下:
[Together]
path = /srv/together
browseable = yes
read only = no
writable = yes
create mask = 0755
directory mask = 0755
valid users = @private
force group = private
Run Code Online (Sandbox Code Playgroud)
我最好的猜测是,该valid users参数比我想象的要强大得多,基本上将组中的所有成员提升为所有者的地位。是这样吗?
编辑:(回应评论)
父目录具有以下权限:
drwxrwx--- 19 root private 44 okt 8 00:58 together/
Run Code Online (Sandbox Code Playgroud)
所以我想这就是删除的理由。我想我需要上一个 Linux 文件权限速成班。我从来没有想到删除不仅仅是一种特殊的编辑......那么这是否意味着如果用户尝试编辑文件,即使删除工作正常,他们也无法编辑?
粘滞位t的提示也很有帮助。谢谢。
至于扩展 ACL 支持:是的,它是打开的(显然默认情况下),但我似乎不太明白这对我的“问题”意味着什么(如果我们假设父目录权限没有解释事情) 。是否必须打开或关闭扩展 ACL 才能产生我所看到的这种行为?
好的,我将尝试在这里总结一下,并快速解释一下 Linux 权限如何工作(不包括 ACL)以及它们为什么这样工作:
首先简而言之给出答案:要从目录中删除文件,您需要对该目录而不是文件本身的写权限。
解释:
目录只是一种特殊类型的文件,其中包含有关文件及其索引节点号的信息(索引节点基本上是文件的元数据,例如文件的数据内容存储在硬盘驱动器上的确切位置、文件的权限等。 ),简而言之,它基本上是一个文本文件,其中包含其中的文件列表。
例如,当您使用时ls,您基本上从“目录文件”内部读取列表(这就是为什么您需要目录的读取权限才能列出其内容)。
只要有一些“链接”/“列表条目”指向它,即文件列在某个目录中,文件就存在(有一些例外,但这对于本文来说太多了)。如果您从列出的每个目录中删除文件的所有列表,则该文件(及其数据)就会消失。这理解起来有点复杂,但现在我们假设一个文件只存在一次。
我希望这可以清楚地说明为什么您需要对目录而不是文件本身的写入权限来删除它,因为同样,目录只是一个包含其内容列表的“文本文件”。如果从列出的“目录文件”中删除文件的条目,则实际上删除了该文件。
再说一次,目录只是一种特殊的文件,其权限的含义略有不同(如果你仔细想想,其实也不是真的,只是对于 e x ecute 权限而言):
ls)cd进入该目录,例如,如果您对该目录没有 x 权限,/test则无法访问该/test/testfile.txt目录,即使您具有 的读取权限testfile.txt。基本上,x-flag 是目录内 inode 的读取权限。如果您对权限主题的更多信息感兴趣,请查看 Pollock 教授对 Unix 文件和目录权限的介绍,它还简要介绍了 ACL(这基本上是Windows的做法,您为每个文件夹设置权限/除了分配一个用户和一个组之外,每个用户/组的文件): https: //wpollock.com/AUnix1/FilePermissions.htm
如果您正在学习 Linux 权限系统,我现在会避免使用 ACL,除非您确实需要更具体的权限。
哦,顺便说一句:对该目录内的文件的写入权限使您有权修改(写入)该文件。在您的示例中,user2 无法写入“测试文件 user1.txt”,即使他可以删除它。
编辑:我还想添加关于 inode 以及它们如何与目录交互等的解释,但我决定这将在这篇文章中走得更远。如果您感兴趣,有很多关于该主题的优秀资源,但如果您只需要设置 Samba,那么您不必太担心。
| 归档时间: |
|
| 查看次数: |
3416 次 |
| 最近记录: |