GNU/Linux >> Linux の 問題 >  >> Cent OS

RHEL 8 /CentOS8のグループにユーザーを追加する方法

随意アクセス制御(DAC)メカニズムのコンテキストでは、システムリソース、ファイル、およびディレクトリへのアクセスは、ユーザーのIDとユーザーがメンバーになっているグループに基づいています。このタイプのアクセス制御は、ユーザーが独自のポリシー決定を実行できるため、「任意」と呼ばれます(もちろん、独自のアクセス許可によって制限されます)。このチュートリアルでは、ユーザーをグループに追加する方法と、RHEL 8 / CentOS8Linuxシステムのプライマリグループとセカンダリグループの違いを説明します。

このチュートリアルでは、次のことを学びます。

  • プライマリグループとセカンダリグループの違いは何ですか
  • usermodコマンドを使用してユーザーをグループに追加する方法
  • vigrを使用してユーザーをグループに直接追加する方法


Rhel8のグループにユーザーを追加する方法

使用されるソフトウェア要件と規則

システム ソフトウェア その他 規約
ソフトウェア要件とLinuxコマンドラインの規則
カテゴリ 使用する要件、規則、またはソフトウェアバージョン
RHEL 8 / CentOS 8
このチュートリアルに従うために特別なソフトウェアは必要ありません
root権限でコマンドを実行する権限。
–指定されたLinuxコマンドは、rootユーザーとして直接、またはsudoを使用して、root権限で実行する必要があります。 コマンド
$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります

グループとは何ですか?

LinuxはUnixをベースにしており、マルチユーザーOSです。複数のユーザーが存在し、同時にシステム内のリソースを共有します。最も単純なレベルでは、このリソースへのアクセスはDACを使用して管理されます (随意アクセス制御)モデル。たとえば、ファイルやディレクトリへのアクセスは、ユーザーのIDとgroupsに基づいています。 彼はのメンバーです。このチュートリアルでは、Red Hat EnterpriseLinux8マシンの既存のグループにユーザーを追加する方法を説明します。

一次および二次グループ

現在、Red Hatは、他のほとんどすべての主要なLinuxディストリビューションと同様に、UPGと呼ばれるスキームを使用しています。 、またはユーザープライベートグループ:新しいユーザーが作成されるたびに、同じユーザー名の新しいグループも自動的に作成され、ユーザーが唯一のメンバーになります。これはいわゆるprimaryです またはprivate グループ。

各ユーザーには、他のメンバーがいない、自分にちなんで名付けられた独自のプライマリグループがあります。この設定により、デフォルトのumaskを変更できます 値:従来は022でした (これは644を意味します ファイルと755の権限 ディレクトリの場合)、現在は通常002に設定されています (664 ファイルと775の権限 ディレクトリの場合)。

デフォルトでは、ユーザーが作成する各ファイルまたはディレクトリはそのユーザーのプライマリグループで作成されるため、この設定では、セキュリティを維持しながら(ユーザーは自分のファイルのみを変更できます)、のメンバーであるユーザー間のリソース共有とコラボレーションが簡素化されます。グループの書き込み権限を許可することにより、setgidビットが使用されている場合の同じグループ。

groupsを使用すると、ユーザーがメンバーになっているグループのリストを取得できます。 コマンド:

$ groups
egdoc wheel

コマンドの出力からわかるように、現在のユーザーegdocはegdocに属しています。 独自のプライマリグループであるgroupとwheel group。これにより、彼はsudoでコマンドを実行できるようになります。 、およびこれはいわゆるsecondary group :デフォルトではユーザーに関連付けられていないオプションのグループ。

usermodを使用してユーザーをグループに追加します

ユーザーはそのプライマリグループの唯一のメンバーですが、ユーザーをセカンダリグループに追加して、ある種のリソースへのアクセスを許可したい場合があります。たとえば、testがあるとします。 ユーザーであり、既存のグループlinuxconfigに追加します :このタスクを実行するための最も簡単で推奨される方法は、usermodを使用することです。 コマンド:

$ sudo usermod -a -G linuxconfig test

使用したオプションを調べてみましょう。 usermod ユーティリティ、ユーザーアカウントを変更しましょう。これを使用することで、ユーザーのホームディレクトリの変更、アカウントの有効期限の設定、アカウントの即時ロックなど、さまざまな操作を実行できます。このコマンドを使用すると、ユーザーを既存のグループに追加することもできます。この場合に使用したオプションは-Gです。 (--groupsの略 )および-a 、(これは--appendの短縮形です 。

-Gまたは–groupsオプションを使用すると、ユーザーがメンバーになる必要のあるコンマ区切りの補足グループのリストを提供できます。前に述べたように、提供された各グループはシステム上にすでに存在している必要があります。覚えておくべき非常に重要なことの1つは、提供されたグループのリストは、-aであるかどうかにかかわらず、異なる方法で解釈されることです。 オプションも提供されているかどうか。最初のケースでは、リストは、ユーザーがすでにメンバーになっているグループに加えて、ユーザーが追加する必要のある補足グループとして解釈されます。 -aの場合 オプションは提供されません。代わりに、リストはユーザーがメンバーになる必要があるグループの絶対リストとして解釈されます。コマンドのマンページに記載されているように、後者の場合、ユーザーが現在コマンドに提供されているリストの一部ではないグループのメンバーである場合、そのグループから削除されます!

ユーザー「test」は「linuxconfig」グループのメンバーになりました。確認しましょう:

$ sudo groups test
test : test linuxconfig

ユーザーをグループに直接追加する

usermodを使用する ユーザーをグループに追加する最も簡単な方法です。完全を期すために、vigrを使用して同じタスクを実行する別の方法を検討します。 linuxコマンド。このコマンドを使用すると、/etc/groupを編集できます。 および/etc/gshadow ファイルを直接、開いている間もロックして、破損を防ぎ、一貫性を確保します。

ファイルの「シャドウ」バージョン(/ etc / gshadow)は、-sの場合にのみ変更されます。 オプションが使用されます。このメソッドで「test」ユーザーを「linuxconfig」グループに追加するには、vigrを実行する必要があります スーパーユーザーとしてのコマンド:/etc/group ファイルはデフォルトのエディタ(通常はvi)で開かれます:

[...]
chrony:x:993:
egdoc:x:1000:
cgred:x:992:
docker:x:991:
apache:x:48:
test:x:1001:test
linuxconfig:x:1002:
[...]

各グループを表すために使用される構文は次のとおりです。

group-name:group-password:group-id:users

フィールドはコロンで区切られます。最初のフィールドはグループ名、2番目のフィールドはグループの「パスワード」(通常は設定されません)、3番目のフィールドはGIDです。 またはgroup-id。最後のフィールドは、グループのメンバーのコンマ区切りのリストです。 「test」ユーザーを「linuxconfig」グループに追加するには、このフィールドを変更して、行が次のようになるようにする必要があります。

linuxconfig:x:1002:test

変更が実行されたら、ファイルを保存して閉じることができます。ターミナルにメッセージが表示されます:

You have modified /etc/group.
You may need to modify /etc/gshadow for consistency.
Please use the command 'vigr -s' to do so.

/etc/groupを変更したので ファイルの場合、メッセージは、関連するシャドウファイル(/etc/gshadow)も変更することを提案します。 。ご存じない方のために説明すると、シャドウファイルは、プレーンテキスト形式で安全に保存できない暗号化されたバージョンの情報を保存するために使用されます。たとえば、前に見​​たように、x /etc/groupで報告されます オプションのグループパスワードの代わりにファイル。パスワードのハッシュバージョンが存在する場合は、シャドウファイルに保存されます。

それでは、以前と同じ変更を/etc/gshadowに加えましょう。 ファイル、/etc/groupと同期するようにします 。私たちがしなければならないのは、-sを提供することだけです vigrへのフラグ コマンド:

$ sudo vigr -s

ファイルを開いたら、必要な変更を加えます:

linuxconfig:!::test

その後、このファイルは読み取り専用であるため、強制的に書き込む必要があります。viを使用する場合 、w!を実行することでこれを行うことができます コマンド。

2つのファイルの同期を維持する別の方法は、grpconvを使用することです。 /etc/gshadowを作成するコマンド /etc/groupからのファイル 、およびオプションで既存の/etc/gshadowから ファイル:

$ sudo grpconv

この時点で、次のコマンドを実行して2つのファイル間の整合性を確認できます。

$ sudo grpck

この時点では出力は表示されません。

結論

このチュートリアルでは、プライマリグループとセカンダリグループの違いと、DACでのそれらの役割について説明しました。 モデル。 usermodを使用して、ユーザーをグループに追加する方法を確認しました。 推奨される方法であるコマンド、またはvigrを使用して直接コマンド /etc/groupを安全に編集するコマンド および/etc/gshadow ファイル。この管理タスクを実行するために使用する手順が何であれ、常に最大限の注意を払う必要があります。


Cent OS
  1. CentOS、RHEL、Fedoraでユーザーを追加および削除する方法

  2. CentOS / RHEL :スワップ ファイルを追加する方法

  3. CentOS/RHEL 8 でロケールを追加する方法

  1. Linuxでユーザーをグループに追加する方法

  2. CentOS/RHEL 7 で root 以外のユーザーとして rsyslog を実行する方法

  3. CentOS/RHEL 5,6 でロケール アーカイブを追加/削除する方法

  1. CentOS 7でSudoersにユーザーを追加し、Sudoグループにユーザーを追加する方法

  2. CentOS/RHEL に言語サポートを追加する方法

  3. CentOS/RHEL 7 で systemd にカスタム スクリプトを追加する方法