创建一个文件夹“Sample_dir”并分析其权限。
$ mkdir Sample_dir
$ ll Sample_dir/
total 36
drwxrwxr-x 2 user user 4096 Jul 1 19:26 ./
drwx------ 71 user user 28672 Jul 1 19:26 ../
看着第一个条目,我认为必须给 chmod 以获得这些权限的参数应该是 1775。
$ chmod 1775 Sample_dir/
$ ll Sample_dir/
total 36
drwxrwxr-t 2 user user 4096 Jul 1 19:26 ./
drwx------ 71 user user 28672 Jul 1 19:26 ../
但是,ls 输出已更改。
ll
已被别名,ls -alF
并且该文件夹的名称现在以蓝色背景的白色文本显示。
请解释。
答案1
您获得的权限就是您请求的权限。 “t”来自您指定的“1775”权限字符串中的“1”,并设置所谓的“粘性位”。这告诉系统该目录中的文件只能由文件所有者、目录所有者或 root 用户重命名或删除。要获得您最初想要的权限,您需要使用“755”或“0755”作为 的权限参数chmod
。
答案2
来自t
名为1
的“1775”权限sticky bit
。粘滞位用于保护文件不被不拥有该文件的人删除或重命名,因此文件只能由their owners
、directory owner
或删除root
。它可以在many users
应该有的目录中设置write access
,例如/tmp
.