rwSrwSrwTの値は何ですか?

rwSrwSrwTの値は何ですか?

値は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以上は該当ビットがSTxいいえ置く。

これは参照の例として使用できます。

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

答え3

rwSrwSrwT方法:

  • 読み取り、書き込み、UID設定、およびユーザーに対して実行しない
  • 読み取り、書き込み、GID設定、グループで実行しない
  • 読み取り、書き込み、固定、および他の人のために実行しない

したがって、探している8進数値は7666です。

chmod 7666 target.txt

参照テーブル:

ここに画像の説明を入力してください。

8進値を計算することなく、あるファイルから別のファイルに権限値をコピーできます。

chmod --reference=sample target.txt

関連情報