ファイルの権限、所有者、およびグループが与えられた場合、特定のユーザーがファイルを読み書きすることができるかどうかを決定するアルゴリズムは何ですか? [コピー]

ファイルの権限、所有者、およびグループが与えられた場合、特定のユーザーがファイルを読み書きすることができるかどうかを決定するアルゴリズムは何ですか? [コピー]

私が知る限り、ファイルには所有者権限、グループ権限、その他のユーザー権限という3つの権限セットがあります。また、ファイルは所有者とグループに割り当てられます。

Linuxはこれらすべての情報をどのように組み合わせて、ファイルに対する特定のユーザーの権限を実際に決定しますか?

たとえば、ファイルが次のようになっているとします。

---読み書き---x

つまり、所有者は権限がなく、グループは読み書き可能で、他のグループは実行のみ可能です。

「Joe」というユーザーがこのファイルにアクセスします。 Joeが属するグループとJoeがファイルの所有者であるかどうかによって、Joeはこのファイルで何ができますか?ファイルxは誰にとっても設定されているため、ファイルを実行できます。ただし、「Joe」が所有者の場合、x所有者は禁止します。何が優先ですか?

ベストアンサー1

Linux権限は相互に排他的です。したがって、所有者権限は所有者にのみ適用され、グループ権限は所有者以外のグループのすべての人に適用され、他の権限はグループと所有者以外の人に適用されます。ファイルにアクセスしようとしているプロセスのUIDとGIDに応じて、これらの権限の1つだけが使用されます。

あなたの場合、Joeがファイルの所有者である場合、彼は自分が属しているグループに関係なく、何もしません。
Joeが所有者ではなくグループに属している場合、読み取りと書き込みは可能ですが、実行することはできません。
Joe は、所有者でもグループの一部でもない場合にのみ実行できます。

おすすめ記事