Linuxのプライマリグループとセカンダリグループ
一次グループと二次グループの違いは何ですか?なぜプライマリグループが必要なのですか?
ユーザーのアクセス許可はプライマリグループのアクセス許可と同じですか?
A
プライマリグループgrp1
を持つユーザーB
と、プライマリグループgrp2
とセカンダリグループを持つユーザーがいると仮定しますgrp1
。次に、?によって作成されたファイルB
と同じ権限を持つことができA
ますA
。
回答
一次グループと二次グループの違いは何ですか?一次グループの必要性は何ですか?
Unixグループから:
プライマリグループ–オペレーティングシステムがユーザーによって作成されたファイルに割り当てるグループを指定します。各ユーザーはプライマリグループに属している必要があります。
セカンダリグループ–ユーザーも属する1つ以上のグループを指定します。ユーザーは最大15のセカンダリグループに属することができます。
一次グループの必要性は何ですか?ユーザーのアクセス許可はプライマリグループのアクセス許可と同じですか?
ユーザーにプライマリグループが割り当てられておらず、10のセカンダリグループに属しているとします。新しいファイルを作成します...このファイルはどのグループに属しますか?これらの10のどれですか?プライマリグループはこの問題に取り組み、ファイルがデフォルトで属するグループを定義します。ホームディレクトリに作成しているファイルを開発グループが所有することは望ましくないため、そのグループの誰もが、グループとしてそれらを使用して許可されていることを実行できます。
プライマリグループgrp1を持つユーザーAと、プライマリグループgrp2およびセカンダリグループgrp1を持つユーザーBがあるとします。次に、Aによって作成されたファイルに対してAと同じ権限を持つことができますか?
番号!グループ部分によって定義された権限のみ。もちろんそれは可能です。umask
たとえばを使用します。
すべてのファイルは、1人のユーザーと1つのグループによって所有され、それ以上でもそれ以下でもありません。したがって、ファイルを作成すると、そのファイルはユーザーと現在のグループによって所有されます。ユーザーがログインすると、現在のグループがプライマリグループになります。
ユーザーは、sgまたはnewgrpを使用して、グループを任意のセカンダリグループに一時的に切り替えることができます。ユーザーは、グループパスワードがそのユーザーのセカンダリグループとしてリストされている限り、グループパスワードがなくてもこれを実行できます。切り替え中、作成されたファイルは、ユーザー自身ではなく、新しいグループによって所有されます。
権限については、プライマリグループとセカンダリグループが一緒に使用されるため、セカンダリグループの1つが所有するファイルにアクセスするためにグループを切り替える必要はありません。
ユーザーは、chgrpを使用して、ファイルのグループを任意のグループ(プライマリまたはセカンダリ)に変更することもできます。
この意味で、プライマリグループは「デフォルト」の現在のグループにすぎません。ユーザーがプライマリグループを持っている必要があることを除いて、他のグループを持っている必要がある理由はありません。これは、新しいユーザーごとに新しいグループを作成するのが一般的です。これにより、新しいユーザーは、自分のユーザー権限以外にデフォルトでアクセスできなくなります。
あなたの質問から:
プライマリグループgrp1を持つユーザーAと、プライマリグループgrp2およびセカンダリグループgrp1を持つユーザーBがあるとします。次に、Aによって作成されたファイルに対してAと同じ権限を持つことができますか?
ユーザーBには、Aによって作成されたファイルに割り当てられたグループ権限があります。このシナリオでは、Aはgrp1でのみファイルを作成しています。ユーザーAは、グループからすべての権限を奪うことができます。