書き込めないディレクトリにあるファイルを削除できますか?

書き込めないディレクトリにあるファイルを削除できますか?

私のフォルダはmike:admが所有しており、権限は770です。 0に注意してください。

私のユーザーはmirkoで、mirkoグループのメンバーです。

rootユーザーがフォルダ内のファイルの所有権をmirko:mirkoに変更したとします。

私のユーザーはフォルダにCDを挿入できません

ユーザーはこのファイルで何ができますか?許されないものとは何ですか、その理由は何ですか?

フォルダを「x」できず、「w」できないため、ファイルを削除できないようです。

しかし、ファイルの内容を読み書きできますか?

答え1

一般的なUNIXに似たファイルシステムを想定すると、書き込み権限なしでディレクトリからファイルを削除することはできません。

重要なアイデアは、ファイルに3つのことが必要であることです。

  • ファイルの実際の内容を含むデータブロック
  • メタデータには、所有者、変更された日付、権限、データブロックの検索方法など、ファイルに関する情報が含まれています。
  • ファイル名とメタデータを見つける方法です。

Unixでは、同じファイルに対して複数の名前を受け入れます。

ディレクトリは、(file name component, pointer to meta-data)ファイルを「削除」するときにディレクトリから正しい最終コンポーネントを含むファイルのペアを削除するだけです。ファイルのすべての名前が削除されたら、データブロックを再利用できます。

したがって、ファイルを「削除」するには、ディレクトリを変更できる必要があります。これには、ディレクトリへの書き込み権限が必要です。

ファイルを削除したりファイルに追加の名前を追加したりするためには、ファイルに対する権限は必要ありません。ディレクトリの作業だけです。

背景

メタデータはi-nodes。ディレクトリに格納されている「メタデータポインタ」は、実際にi-nodesディスクに格納されている配列のインデックス番号です。今日、アレイは通常、ディスクに分散された一連のブロックに格納されています。df -i使用中のアイテム数と利用可能なアイテムの総数を確認するために使用できます。

関連情報