GNU/Linux >> Linux の 問題 >  >> Linux

ファイル モード ビットが a+rw のファイルは削除できません

/tmp ディレクトリは慣習的に 制限付き削除 でマークされます 許可文字 t として表示されるフラグ または T ls で 出力。

制限付き削除 いくつかのことを意味します。一般的なケースでは、ファイルの所有者、または /tmp の所有者のみを意味します。 /tmp でファイル/ディレクトリを削除できます .

root の所有者ではないため、ファイルを削除できません . rm を実行してみてください sudo

sudo rm /tmp/test

より具体的には、Linux だけに限定された削除フラグ (/tmp などの誰でも書き込み可能なディレクトリ) ) また protected_symlinks を有効にします 、 protected_hardlinksprotected_regular 、および protected_fifos これらのディレクトリでは、ユーザーが所有していないシンボリック リンクをたどることを禁止し、ユーザーが所有していないファイルへのハード リンクを作成することを禁止し、ユーザーが所有していない FIFO を開くことを禁止し、ユーザーが既存のファイルを開くことを禁止します。作成する予定のときに所有していません。

root のようにさらにさまざまなことを行うと、パーミッション エラーが表示されて驚かれることでしょう。 あなたがするとき sudo を使用 .

これらの詳細については、「CentOS 6 と CentOS 7 でハード リンクのアクセス許可の動作が異なる」、「ユーザーの変更時にシンボリック リンクが期待どおりに機能しない」、「root のグループ アクセス許可が /tmp で機能しない」などの質問を参照してください。


問題は /tmp のスティッキービットのようです .

$ ls -ld /tmp
drwxrwxrwt⃝   1 root  root  1044 Mar 13 12:09 /tmp

https://en.wikipedia.org/wiki/Sticky_bit

<ブロック引用>

ディレクトリのスティッキービットが設定されている場合、ファイルシステムはそのようなディレクトリ内のファイルを特別な方法で扱い、ファイルの所有者、ディレクトリの所有者、またはルートユーザーのみがファイルの名前を変更または削除できるようにします。スティッキー ビットが設定されていない場合、ディレクトリの書き込み権限と実行権限を持つすべてのユーザーは、ファイルの所有者に関係なく、含まれているファイルの名前を変更したり削除したりできます。 通常、これは /tmp ディレクトリに設定され、一般ユーザーが他のユーザーのファイルを削除または移動できないようにします。


Linux
  1. バイナリを /bin、/sbin、/usr/bin、および /usr/sbin にインストールし、 --prefix および DESTDIR と対話します

  2. \ という名前のファイルまたはディレクトリを削除するにはどうすればよいですか?

  3. なぜ /home 以外のものを別のパーティションに入れるのですか?

  1. echo または print /dev/stdin /dev/stdout /dev/stderr

  2. デフォルトの /tmp を /home/user/tmp に変更する方法

  3. /tmp と /var/tmp の違いと正しい使い方

  1. Ssh – X11転送の試行が「connect/tmp/.x11-unix/x0:No such file or Directory」で失敗するのはなぜですか?

  2. CentOS / RHEL 7 で systemd-tmpfiles が /tmp/ または /var/tmp (tmpwatch の置き換え) をクリーンアップする方法

  3. UNIX / Linux :/tmp および /var/tmp ディレクトリの正しい権限は何ですか