このエントリーをはてなブックマークに追加


tmpディレクトリ内のファイルを他ユーザが削除できない理由

答えから書きますとtmpディレクトリはステッキービット(sticky bit)が設定されています。
これによりパーミッションが666でも他ユーザが削除することができません。
(たとえば、パーミッションが666であればファイルのリード/ライトはできますが削除はできません)
以下の赤字の部分がステッキービットをあらわしています。

$ ls -ld /tmp drwxrwxrwt 13 root root 4096 2010-01-26 00:16 /tmp


スポンサーリンク

動作例

sakuraユーザのtest.txtをtsubakiユーザが削除しようとするがOperation not permittedとなります。

stickybit-01.png

なぜ削除できないのか?

tmpフォルダは複数のユーザからアクセスされるためファイルのオーナー以外が削除できないようにしています。

ステッキービット(sticky bit)の設定および解除方法

  • ステッキービット(sticky bit)の設定
    chmod +t ディレクトリ名
  • ステッキービット(sticky bit)の解除
    chmod -t ディレクトリ名

ubuntuなどrootで作業を行わない場合はコマンドの前にsudoが必要に場合があるでしょう。

 

スポンサーリンク

 

添付ファイル: filestickybit-01.png 127件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:28:02 (1214d)