• 締切済み

UNIXのパーミッションについて

いきなりなんですが、 UNIXのパーミッションで”r・w・x”以外に ”t・s”があることがわかったのですが よくわかりません。 どういうことなのでしょうか? ”man”コマンドで調べてみたんですが、正直意味がわかりません! 変な質問で申し訳ないですが、よろしくお願いいたします!

みんなの回答

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

tはStikyBitといいます。通常Otherグループのところに 付きます。 sはSetUIDまたはSetGIDとなります。 SetUIDは付いている実行可能ファイルは実行者の 権限で実行されるのではなく、ファイルの所有者の 権限で実行されます。一般的にはセキュリティー ホールに繋がることが多いため、必要なコマンド 以外にはSetUID属性は付けないのが掟です。 setGIDも同様でファイル/ディレクトリの所有者の 権限で読み書き実行を行います。 StikyBitは/tmp、/var/tmp等に付いてますよね。 これらのディレクトリは作業用なので誰でも 読み書きできなければ困りますよね。でも 所有者は誰になってますか?「root」になって ますよね。これだとフツーのユーザはかけませんよね。 だからといってアクセス権を777(drwxrwxrwx)に すると、今度は誰でも書ける半面、「誰でも削除できて」しまいます。これを防ぐため、書いた本人しか 消せないようにするための「特殊な」属性です。

monkya
質問者

お礼

ありがとうございます。 ”s”はまだなんとなくわかっていたので、確認のために お聞きしました。 ですが、”t”についてはさっぱりわからなかったので非常に 助かりました。 そういうためにあったんですね。 非常に勉強になりました!

関連するQ&A