Linux ユーザーは複数のグループに所属できますか?
許可されれば、1 人のユーザーが 2 つのグループのファイルにアクセスできるようになるので、非常に便利です。
そうでない場合、この機能を使用する別の方法はありますか?
この問題は、ディレクトリ内の新しいファイルがグループに属していることを確認するまたはUbuntuのユーザー/グループの権限を理解するのを手伝ってください
答え1
はい、ユーザーです複数のグループのメンバーになることができます:
ユーザーはグループに編成され、すべてのユーザーは少なくとも 1 つのグループに属し、他のグループに属することもできます。グループ メンバーシップにより、そのグループに許可されているファイルとディレクトリへの特別なアクセスが与えられます。
例えば、ユーザーをusername
グループに追加するにgroup1
は、group2
次のようにします。usermod
指示:
usermod -a -G group1,group2 username
答え2
はい、通常の UNIX ユーザーは複数のグループのメンバーになることができます。
しかし、1つユーザーのグループプライマリグループ。
たとえば を使用してユーザーを追加する場合adduser
、 オプションを使用してプライマリ グループを指定し--ingroup
、Debian/Ubuntu などで次のように複数のセカンダリ グループを追加できます。
$ # would create user gert and group gert
$ sudo adduser gert
$ # same, but no group 'gert' will be created, but made member of the existing
$ # group 'adm'
$ sudo adduser gert --ingroup adm
$ # secondary groups
$ sudo adduser gert superusers
Adding user `gert' to group `superusers' ...
Adding user gert to group superusers
Done.
$ sudo adduser gert debianfans
自分がどのユーザーのメンバーであるかを確認するには、以下を使用しますid
。
$ id
uid=1000(gert) gid=1000(gert) groups=1000(gert),4(superusers),5(debianfans)
^^^ ^^^^^^
primary secondary
group groups
他のユーザーの場合も、ユーザー名を最初の引数として渡すだけですid
。
-g
(--gid
)オプションを使用して、ユーザーのプライマリグループを変更できます。usermod
$ usermod -g new_primary_group username
答え3
はい、他の回答を参照してください。代替案はアクセス制御リストです。
setfacl
getfacl
各ファイルには、アクセスできるユーザーとグループのリストを含めることができます。
人は 1 人のユーザーと複数のグループで構成されます (グループは管理者/ルート ユーザーのみが設定できます)。ファイルは通常、1 人の所有者ユーザーと 1 つのグループで構成されますが、ACL を使用すると、1 人の所有者ユーザー、さらに他の複数のユーザー、および複数のグループが構成されます。
どちらを使用するかは、必要なものによって異なります。ACL は、管理者を必要としないパネルとして使用できます (インストールして有効化する場合を除く。デフォルトでは通常はインストールされません)。他の方法はよりシンプルですが、それほど強力ではありません。