値は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
?
答え1
あなたの質問への直接的な答えはです7666
。
$ chmod 7666 target.txt
$ ls -l target.txt
-rwSrwSrwT 1 svsv svsv 0 Jul 14 13:20 target.txt
4ビットパターンの最上位ビットは、setuid(---S------
)、setgid(------S---
)、およびSticky(---------T
)ビットに影響します。ビットと同じ位置にラベルが付いており、それx
以上は該当ビットがS
T
x
いいえ置く。
これは参照の例として使用できます。
0000 = ----------
0111 = ---x--x--x
1000 = ---------T
1111 = ---x--x--t
2000 = ------S---
2111 = ---x--s--x
... = ...
7000 = ---S--S--T
7111 = ---s--s--t
7666 = -rwSrwSrwT
7777 = -rwsrwsrwt
答え2
調べる方法:
#↳ touch file
#↳ chmod a=rw,ug+s,+t file
#↳ stat file
File: file
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 803h/2051d Inode: 5131644 Links: 1
Access: (7666/-rwSrwSrwT) Uid: ( 1000/ cad) Gid: ( 1000/ cad)
Access: 2023-07-15 20:56:08.363457855 +0100
Modify: 2023-07-15 20:56:08.363457855 +0100
Change: 2023-07-15 20:56:16.583445800 +0100
Birth: 2023-07-15 20:56:08.363457855 +0100
答えは4行目にありますstat
。