该值1777
是以下权限rwxrwxrwt
:
touch target.txt
chmod 1777 target.txt
ls -al target.txt
-rwxrwxrwt 1 debian debian 0 Jul 14 20:24 target.txt
我必须获得以下权限字符串rwSrwSrwT
:
ls -al sample
-rwSrwSrwT 1 debian debian 0 Jul 14 20:24 sample
那么如何计算其值呢rwSrwSrwT
?
你的问题的直接答案是
7666
。4 位模式中的最高有效位影响 setuid (
---S------
)、setgid (------S---
) 和 Sticky (---------T
) 位。它们被标记在与x
位相同的位置,上面的S
或T
表示相应的x
位未设置。这可以作为参考示例:
如何查明:
答案在第 4 行,来自
stat
。rwSrwSrwT
方法:所以您要查找的八进制值为 7666:
chmod 7666 target.txt
参考表:
请注意,您可以将权限值从一个文件复制到另一个文件,而无需计算八进制值:
chmod --reference=sample target.txt