【Linux】SGID【学んだこと備忘録】

 

毎日、学んだことや気付いたこと、思ったことをアウトプットするようにし始めた。

(毎日投稿できていない…泣)

間違ってる箇所とかあるかもしれない、、

 

 

 

 

SGIDについて復習↓

 

SGIDとは・・

あるディレクトリ配下に作成したファイルやディレクトリの所有グループを親ディレクトリと同じにするにはSGIDを設定する。SGIDは特殊なパーミッションの1つ。

設定方法は、chmodコマンドで通常のパーミッションの値に2000を加えた値を設定するかグループに「s」という権限を追加(g+s)

EX)

・chmod 2775 dir
・chmod g+s dir

 

 

 

ちなみに特殊なパーミッションは以下3つがある。


・SUID
実行ファイルに設定する事でそのプログラムをどのユーザが実行しても、プログラムの所有ユーザの権限で実行される。
設定はchmodコマンドで通常のパーミッションの値に4000を加えた値を設定するか、所有ユーザに「s」という権限を追加(u+s)。
これが設定された代表的なプログラムは「passwd」

・SGID
実行ファイルに設定する事で、そのプログラムをどのユーザが実行しても、プログラムの所有グループの権限で実行される。
また、ディレクトリに設定する事でそのディレクトリ配下に作成したファイルやディレクトリの所有グループは親ディレクトリと同じになる。
設定はchmodコマンドで、通常のパーミッションの値に2000を加えた値を設定するか、所有グループに「s」という権限を追加(g+s)。

・スティッキービット
ディレクトリに設定する事で、そのディレクトリに対して書き込み権限を持つユーザでも、自分が所有する以外のファイルを削除できなくなります。
設定方法はchmodコマンドで、通常のパーミッションの値に1000を加えた値を設定するか、その他ユーザに「t」という権限を追加(o+t)。
これが設定された代表的なディレクトリは「/tmp」ディレクト