「グループ」権限は制限し、「世界」権限は公開しますか?

「グループ」権限は制限し、「世界」権限は公開しますか?

私が知る限り、Unixファイル権限には次のものがあります。「ユーザー」、「グループ」、「ワールド」オクテット。議論のためにsetuid / stickyビットが存在しないと仮定します。

次の例を考えてみましょう。

$ echo "Hello World" > strange

$ chmod 604 strange

$ ls -l strange
-rw----r-- 1 mrllama foo 12 Apr 13 15:59 strange

john私のグループのメンバーである他のユーザーがいるとしましょうfoo

  • Johnはこのファイルに対してどのような権限を持っていますか?
  • システムに最も具体的な権限一致があります(Johnは所有者ではありませんが、グループに属するため、foo「グループ」オクテットの権限を使用します)。
  • ...または彼に適用される最も緩いオクテットに従いますか(つまり、Johnは「グループ」と「世界」の基準を満たしているため、どちらもより緩いオクテットに従います)。

ボーナス質問:

  • 権限に変更された場合はどうなりますか642?ジョンは読むことができますか?
  • このような奇妙な権限を与える理由はありますか604

ベストアンサー1

Unix スタイルの権限を使用してアクセスを決定するとき、現在のユーザーを最初にファイルの所有者、次のグループと比較し、適用される権限は、一致する最初のコンポーネントの権限です。したがって、ファイル所有者は所有者の権限(およびその権限のみ)を持ち、ファイルグループのメンバーはグループの権限(およびその権限のみ)を持ち、他のすべての人は「他のユーザー」権限を持ちます。

したがって:

  • Johnには、このファイルに対する権限がありません。
  • 最も許可された一致ではなく、最も具体的な権限一致が勝ちます(アクセス権限は累積されません)。
  • 権限があれば、642ジョンはファイルを読み取ることができます。
  • 権限が付与される理由は次のとおりです。例604:これにより、グループを除外でき、場合によっては便利です。studentsアクセス可能な学生ファイルを除くすべての人のために、教職員がグループを作成できるグループを持つ学術システムで見たことがあります。

rootファイルで定義されている権限に関係なく、すべてのコンテンツにアクセスできます。

より複雑なアクセス制御のためには、以下を見てください。SELinuxそしてPOSIX ACL。 (特にSELinuxはrootアクセス可能な項目を制限することもできます。)

おすすめ記事