为什么“其他”权限不包括所有者和组?

为什么“其他”权限不包括所有者和组?

这样做的情况可能很少见,但如果创建了一个文件并撤销了权限,则所有者(以及组用户)将无法再访问该文件。

midnite@gentoo_bazic /home/midnite % touch file
midnite@gentoo_bazic /home/midnite % chmod 007 file
midnite@gentoo_bazic /home/midnite % ls -l file
-------rwx 1 midnite midnite 0 Apr 13 02:22 file

所有者失去了对自己文件的控制。

midnite@gentoo_bazic /home/midnite % cat file
cat: file: Permission denied
midnite@gentoo_bazic /home/midnite % echo 'text' > file
zsh: permission denied: file

即使同一组中的其他用户也无法更改该文件。

midnite@gentoo_bazic /shared % touch file
midnite@gentoo_bazic /shared % chgrp m_group file
midnite@gentoo_bazic /shared % chmod 007 file
midnite@gentoo_bazic /shared % ls -l file
-------rwx 1 midnite m_group 0 Apr 13 02:41 file

midnite2@gentoo_bazic /shared $ cat file 
cat: file: Permission denied
midnite2@gentoo_bazic /shared $ echo 'else' > file 
bash: file: Permission denied

gentoo_bazic ~ # cat /etc/group | grep m_group
m_group:x:1002:midnite,midnite2

当然如果用户有写入和执行权限在目录上,他可以删除该文件(包括删除、重命名或移动到其他位置)。这与文件的权限无关。

但我觉得这种行为非常不平凡。许多人会认为其他权限意味着系统中的每个用户。原来是所有人所有者或团体。

这个属性背后有什么设计原理吗?此设置符合逻辑的任何有意义的场景吗?

答案1

权限的工作方式如下:

如果UID文件的 与 的 匹配UID$USER则使用owner权限 ( -rwx------)。
否则,如果GID文件的 匹配其中一个组$USER的成员,则使用group权限 ( ----rwx---)。
否则使用world权限 (--------rwx`)。

一旦$USER被分类,就没有第二次机会。

相关内容