• ベストアンサー

UNIXのディレクトリのパーミッションについて

初めて質問させていただきます。 UNIXのディレクトリのパーミッションについてなのですが、 パーミッションを表す'drwxr-srwt'など、"s"や"t"のフラグが付いていているときがあります。 色々と調べてみたのですが、根本的な解決までたどり着けませんでした。 そのフラグが付いているディレクトリが意味しているものは一体何なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Lean
  • ベストアンサー率72% (435/603)
回答No.1

グループ(group)の所にある"s"がセット・グループIDビット(setgid bit/sgid bit)、その他(other)の所にある"t"がスティッキービット(sticky bit)です。 他に所有者(owner)の所にある"s"がセット・ユーザIDビット(setuid bit/suid bit)というものあります。 ○セット・ユーザIDビット(setuid bit/suid bit) 実行ファイル(プログラムやコマンド、スクリプト)を実行した時、普通は実行者の権限で動作しますが、suid ビットが立っていると、実行ファイル作成者の権限で動作します。 良く使用されるのがroot権限がないと使用出来ないコマンドを一般ユーザでも使用出来るようにした時です。 ○セット・グループIDビット(setgid bit/sgid bit) あるディレクトリの所有グループが group の時、このディレクトリに sgid ビットが立っていると、その中に作成されるファイルやディレクトリの所有グループは自動的に group になり、ディレクトリには sgid ビットがセットされます。 これは、グループ内で共有ディレクトリを作成し、そこでファイルを共有した時など設定されます。 ○スティッキービット(sticky bit) ディレクトリに sticky ビットが立っていると、そのディレクトリ以下にあるファイルの削除やファイル名の変更は所有者にしか出来なくなります。 これは、テンポラリ(/tmpとか/var/tmpとか)で誰にでも書き込める領域は欲しいが、他ユーザにファイル等を消されるのを防ぎたい時などに設定されます。 なお、実行権限の部分(xの所)に権限がある時は"s"や"t"に、権限がない時には"S"や"T"になります。

superunix
質問者

お礼

Leanさん、さっそくの回答ありがとうございます!! setUID、setGID、StickyBit、良く分かりました。 すいません、質問なのですが、setuidがディレクトリに振られている時は特に何もないのでしょうか?

その他の回答 (1)

  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

>setuidがディレクトリに振られている時は特に何もないのでしょうか? 特に何もないと思います。 もしかしたら意味を持つOSが存在するかもしれませんが、私はそういうOSを知りません。

superunix
質問者

お礼

Leanさん、重ね重ねありがとうございます!! そうなんですね。色々とやってみたのですが、 特に何も影響はありませんでした。 ご回答いただき、ありがとうございました!!

関連するQ&A