以下のようにUNIXグループ階層を作成するには?

以下のようにUNIXグループ階層を作成するには?

UNIXグループの階層を作成する必要があります。このように:

A
|\
| \
B  c
|\
D e
|\
f g

...ここで、A、B、DはUNIXグループ、c、e、f、gはこれらの特定のグループのメンバーであるUNIXアカウントです。グーグルをたくさんやってみましたが不可能なようです。

現在、私たちは以下を持っています:

  1. グループAにはメンバーがいます。 c。
  2. グループBにはメンバーeがあります。
  3. グループDにはメンバーfとgがあります。

修正する:

@Johnの投稿で、あいまいさを排除するために要件を再構成する必要があることに気づきました。

私の要件は次のとおりです

  1. グループBのメンバーのみがディレクトリにアクセスできます。したがって、Bはフォルダのグループ所有者です。グループDはBのサブグループであるため、DのメンバーはグループBのメンバーになり、ディレクトリにもアクセスできます。
  2. ただし、グループBのメンバーはグループAのメンバーと同じ権限を持っている必要があります。 (したがって、グループAがディレクトリグループの所有者である場合、グループBは自動的にディレクトリグループの所有者になります。)

    ところで、これは本当の問題です。私はグループBとそのメンバーの完全な統制権を持っています。他のグループとそのメンバーには制限がありません。したがって、新しいグループを作成し、グループAまたはDのメンバーにメンバーシップを付与することはできません。

答え1

一般的なUNIX権限ではこれを行うことはできません。

ACLを使用すると可能です(または可能でなければなりません)。

ACLをサポートするファイルシステムを使用する必要があります。これはほとんどの最新のLinuxファイルシステムに当てはまります。

デフォルトのコマンドは setfacl です。

例では、グループBが/ Bディレクトリを所有している場合は、次のようにグループDへのアクセス権を追加します。

setfacl -m group:B:rwx,group:D:rwx /B

これは最も基本的な例ですが、アイデアを理解するのに役立ちます。これには慎重で明示的なアクセス制御設定が必要ですが、デフォルトのUNIX権限以上の操作を実行できます。ただし、その機能は、たとえば、ADグループ全体ポリシーの機能よりもはるかに少ないです。

以下は、一般的なACLに関するいくつかのドキュメントです。

答え2

Ulrichが言ったように、伝統的なグループはこれを行うことはできません。あなたのファイル権限は、所有者1人、グループ1人、および「その他すべての人」に制限されます。ユーザーを複数のグループに含めることでアクセス要件を満たすことができますが、制限1と3は相互に排他的であるため、問題が発生します。必要なソリューションはLDAPまたはファイルシステムACLに基づいています。問題についてもっと知らないと、どちらがわからない。

関連情報