10の親ディレクトリを持つファイルがあります。コマンドを使用してファイルの所有者を変更すると、chown
ファイルの親ディレクトリにまだ他の所有者があるため、新しい所有者はまだファイルに書き込むことができません。親ディレクトリの所有者も変更する方法はありますか?
それ以外の場合は、ネストされたディレクトリ内のファイルを変更する権限をユーザーに一時的に付与する最善の方法は何ですか?
答え1
ユーザーは、ファイルにアクセスするために、ファイルが含まれているディレクトリに実行ビットだけが必要です。実行ビットがディレクトリに設定されていて、ユーザーにファイルへの書き込み権限がある場合は、ファイルを編集できます。ディレクトリへの書き込み権限がないと、ファイルを作成または削除することはできませんが(ファイルを所有していても)編集できます。読み取り権限がなくても(実行のみ設定)、ユーザーはディレクトリのリストを取得できませんが、アクセスするにはファイルの正確なファイル名を知る必要があります。
したがって、ファイルがあり、dirname/filename.txt
ユーザーがファイルを所有している場合:
rwx--x--x ディレクトリ名
ユーザーは編集できます。dirname/filename.txt
ユーザーは作成できません。dirname/filename2.txt
ユーザーは削除できません。dirname/filename.txt
ユーザーはできません。ls dirname
rwxr-xr-x ディレクトリ名
ユーザーは編集できます。dirname/filename.txt
ユーザーは作成できません。ユーザーはdirname/filename2.txt
削除できません。dirname/filename.txt
ls dirname
rwxrwxrwx ディレクトリ名
ユーザーは何でもできます
ノート
ディレクトリに固定ビットが適用されている場合、これらのルールは適用されません。固定ビットは動作を完全に変更します(/tmp
ディレクトリに固定ビットが適用されます)。
答え2
あなたの質問に答えるためにACLを使用することをお勧めしますアクセス制御リスト