答案1
有关该主题的信息来源有很多,但阅读这里, 在维基百科以及 StackExchange 上提出的其他类似问题,如下所示:
- https://askubuntu.com/questions/88391/whats-an-upper-t-at-the-end-of-unix-permissions
- https://superuser.com/questions/509114/what-does-directory-permission-s-mean-not-lower-case-but-in-upper-case
- 文件夹权限中大写的S
我们可以假设:
粘位
主要用于文件夹,以避免其他用户尽管对文件夹内容具有写权限,但仍删除该文件夹及其内容。如果在文件夹上启用粘滞位,则只有创建文件夹的所有者和 root 用户才能删除或移动文件夹内容。
但当然,它也可以在单个文件上完成,就像您的情况一样。
如何设置粘滞位
# symbolic way :
chmod +t /path/to/folder/or/file
# Numerical way :
chmod 1757 /path/to/folder/or/file
如果在文件权限区域看到T
(大写),则表明特定文件或文件夹没有可执行权限全部用户权限部分。否则,如果粘性节拍t
是小写,则表示可执行权限全部用户已启用。
SetGID / SetUID(设置组 ID、设置用户 ID)位
在大多数系统上,如果设置了目录的 set-group-ID 位,则新创建的子文件将继承与该目录相同的组,并且新创建的子目录将继承父目录的 set-group-ID 位。
同样的逻辑设置UID少量。
如何设置GID / SetUID
# add the setuid bit
chmod u+s /path/to/folder/or/file
# remove the setuid bit
chmod u-s /path/to/folder/or/file
# add the setgid bit
chmod g+s /path/to/folder/or/file
# remove the setgid bit
chmod g-s /path/to/folder/or/file
与上述类似,如果您看到S
(大写)目录的 setgid 位已设置,但执行位未设置。是s
小写的,目录的 setgid 位被设置,并且执行位被设置。
答案2
您可以在页面上找到S
和的含义。在使用 GNU 的系统上,这应该在文件中可用,通常可以在 shell 提示符下通过.这是摘录:T
ls
info
ls
corutils.info.gz
info ls
`ls' combines multiple bits into the third character of each
set of permissions as follows
. . .
`S'
If the set-user-ID or set-group-ID bit is set but the
corresponding executable bit is not set.
`T'
If the restricted deletion flag or sticky bit is set but the
other-executable bit is not set.
通常用来设置这些位的命令是chmod
,任何二进制命令或程序都可以调用内核系统调用chmod
来完成相同的事情。
请参阅这些手册页以获取更多信息:
man 1 chmod
man 2 chmod