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

OKWave 2007年08月10日 14時00分

  • このエントリーをはてなブックマークに追加
UNIXのディレクトリのパーミッションについて

初めて質問させていただきます。

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

良回答

グループ(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"になります。

  • このエントリーをはてなブックマークに追加
関連キーワード
OS

SpecialPR

  • デジタル変革か?ゲームセットか?

    デジタルを駆使する破壊的なプレーヤーの出現、既存のビジネスモデルで競争力を持つプレイヤーはデジタル活用による変革が迫られている。これを読めばデジタル変革の全体像がわかる!

  • 「奉行シリーズ」の電話サポート革命!活用事例をご紹介

    「ナビダイヤル」の「トラフィックレポート」を利用したことで着信前のコール数や
    離脱数など、コールセンターのパフォーマンスをリアルタイムに把握するに成功。詳細はこちらから