Linux でユーザーをグループに追加する 4 つの方法の概要

Linux でユーザーをグループに追加する 4 つの方法の概要

序文

Linux グループは、Linux でユーザー アカウントを管理するために使用される組織単位です。 Linux システム内のすべてのユーザーとグループには、一意のデジタル識別番号があります。これはユーザー ID (UID) とグループ ID (GID) と呼ばれます。グループの主な目的は、グループのメンバーの権限セットを定義することです。それらはすべて特定のアクションを実行できますが、他のアクションは実行できません。

Linux には 2 種類のデフォルト グループがあります。各ユーザーには、プライマリ グループが 1 つだけ存在し、セカンダリ グループは任意の数だけ存在します。

• プライマリ グループ: ユーザー アカウントが作成されると、プライマリ グループがユーザーに追加されます。これは通常、ユーザーの名前です。プライマリ グループは、新しいファイル (またはディレクトリ) の作成、ファイルの変更、コマンドの実行などの操作を実行するときにユーザーに適用されます。ユーザーのプライマリ グループ情報は /etc/passwd ファイルに保存されます。

• セカンダリグループ: セカンダリグループと呼ばれます。これにより、ユーザー グループは同じグループ メンバーシップ ファイル内で特定のアクションを実行できるようになります。たとえば、少数のユーザーに Apache (httpd) サービス コマンドの実行を許可したい場合に最適です。

ユーザー管理に関連する以下の記事にご興味があるかもしれません。

• Linux でユーザー アカウントを作成する 3 つの方法は何ですか?

• Linux でバッチユーザーを作成するにはどうすればいいですか?

• さまざまな方法を使用して Linux でユーザー パスワードを更新/変更するにはどうすればよいですか?

これは、次の 4 つの方法を使用して実現できます。

• usermod: コマンドラインで指定された変更を反映するようにシステム アカウント ファイルを変更します。

• gpasswd: /etc/group および /etc/gshadow を管理するために使用されます。各グループには管理者、メンバー、パスワードを設定できます。

• シェル スクリプト: 管理者が必要なタスクを自動化できるようにします。

• 手動の方法: /etc/group ファイルを編集して、ユーザーを任意のグループに手動で追加できます。

この操作に必要なグループとユーザーは既に存在しているものと想定します。この例では、user1、user2、user3 というユーザーとグループを使用し、追加のグループは mygroup と mygroup1 です。

変更を加える前に、ユーザーとグループの情報を確認したいと思います。詳細は下記をご覧ください。

以下のユーザーは、他のグループではなく、自分のグループに関連付けられていることがわかります。

# ID ユーザー1
uid=1008(ユーザー1)gid=1008(ユーザー1)グループ=1008(ユーザー1)
 
# id ユーザー2
uid=1009(ユーザー2)gid=1009(ユーザー2) グループ=1009(ユーザー2)
 
# ID ユーザー3
uid=1010(user3)gid=1010(user3) グループ=1010(user3)

このグループにはユーザーが関連付けられていないことがわかります。

#getent グループ mygroup
私のグループ:x:1012:
 
#getent グループ mygroup1
マイグループ1:x:1013:

方法1: usermodコマンドを使用する

usermod コマンドは、コマンド ラインで指定された変更を反映するようにシステム アカウント ファイルを変更します。

usermod コマンドを使用して既存のユーザーをセカンダリ グループまたは追加グループに追加するにはどうすればよいですか?

既存のユーザーをセカンダリ グループに追加するには、-g オプションとグループ名を指定した usermod コマンドを使用します。

文法:

# usermod [-G] [グループ名] [ユーザー名]

指定されたユーザーまたはグループがシステムに存在しない場合は、エラー メッセージが表示されます。エラーが表示されない場合は、ユーザーが対応するグループに追加されています。

# usermod -aG mygroup ユーザー1

id コマンドを使用して出力を見てみましょう。はい、正常に追加されました。

# ID ユーザー1
uid=1008(user1)gid=1008(user1) グループ=1008(user1),1012(mygroup)

usermod コマンドを使用して、既存のユーザーを複数のセカンダリ グループまたは追加グループに追加するにはどうすればよいですか?

既存のユーザーを複数のセカンダリ グループに追加するには、-G オプションとグループ名をカンマで区切って指定した usermod コマンドを使用します。

文法:

# usermod [-G] [グループ名1,グループ名2] [ユーザー名]

この例では、user2 を mygroup と mygroup1 に追加します。

# usermod -aG mygroup,mygroup1 user2

id コマンドを使用して出力を見てみましょう。はい、user2 は myGroup と myGroup1 に正常に追加されました。

# id ユーザー2
uid=1009(user2)gid=1009(user2) グループ=1009(user2),1012(mygroup),1013(mygroup1)

ユーザーのプライマリグループを変更するにはどうすればよいですか?

ユーザーのプライマリ グループを変更するには、-g オプションとグループ名を指定して usermod コマンドを使用します。

文法:

# usermod [-g] [グループ名] [ユーザー名]

ユーザーのプライマリ グループを変更するには、-g を使用する必要があります。

# usermod -g mygroup ユーザー3

出力を見てみましょう。はい、変更は成功しました。これで、user3 のプライマリ グループは、user3 ではなく mygroup として表示されます。

# ID ユーザー3
uid=1010(user3)gid=1012(mygroup) groups=1012(mygroup)

方法2: gpasswdコマンドを使用する

gpasswd コマンドは、/etc/group と /etc/gshadow を管理するために使用されます。各グループには管理者、メンバー、パスワードを設定できます。

gpasswd コマンドを使用して既存のユーザーをセカンダリ グループまたは追加グループに追加するにはどうすればよいですか?

既存のユーザーをセカンダリ グループに追加するには、-M オプションとグループ名を指定した gpasswd コマンドを使用します。

文法:

#gpasswd[-M] [ユーザー名] [グループ名]

この例では、user1 を mygroup に追加します。

#gpasswd -M ユーザー1 私のグループ

id コマンドを使用して出力を見てみましょう。はい、user1 は mygroup に正常に追加されました。

# ID ユーザー1
uid=1008(user1)gid=1008(user1) グループ=1008(user1),1012(mygroup)

gpasswd コマンドを使用して複数のユーザーをセカンダリ グループまたは追加グループに追加するにはどうすればよいですか?

セカンダリ グループに複数のユーザーを追加するには、-M オプションとグループ名を指定した gpasswd コマンドを使用します。

文法:

#gpasswd[-M] [ユーザー名1,ユーザー名2] [グループ名]

この例では、user2 と user3 を mygroup1 に追加します。

#gpasswd -M ユーザー2、ユーザー3、グループ1

getent コマンドを使用して出力を見てみましょう。はい、user2 と user3 は myGroup1 に正常に追加されました。

#getent グループ mygroup1
私のグループ1:x:1013:ユーザー2、ユーザー3

gpasswd コマンドを使用してグループからユーザーを削除するにはどうすればいいですか?

グループからユーザーを削除するには、-d オプションとユーザー名およびグループ名を指定して gpasswd コマンドを使用します。

文法:

#gpasswd[-d] [ユーザー名] [グループ名]

この例では、mygroup から user1 を削除します。

#gpasswd -d ユーザー1 私のグループ
ユーザー user1 をグループ mygroup から削除しています

方法3: シェルスクリプトを使用する

上記の例から、usermod コマンドにはグループに複数のユーザーを追加する機能がないことがわかります。これは、gpasswd コマンドで実行できます。ただし、現在グループに関連付けられている既存のユーザーは上書きされます。

たとえば、user1 はすでに mygroup に関連付けられています。 gpasswd コマンドを使用して user2 と user3 を mygroup に追加した場合、期待どおりに動作せず、代わりにグループが変更されます。

複数のユーザーを複数のグループに追加したい場合、解決策は何ですか?

どちらのコマンドにも、これを実現するためのデフォルト オプションはありません。

したがって、これを実現するには小さなシェル スクリプトを作成する必要があります。

gpasswd コマンドを使用して、セカンダリ グループまたは追加グループに複数のユーザーを追加するにはどうすればよいでしょうか?

gpasswd コマンドを使用して複数のユーザーをセカンダリ グループまたは補助グループに追加する場合は、次のシェル スクリプトを作成します。

ユーザーリストを作成します。各ユーザーは別々の行に表示する必要があります。

$ cat ユーザーリスト.txt
ユーザー1
ユーザー2
ユーザー3

次のシェル スクリプトを使用して、複数のユーザーを単一のセカンダリ グループに追加します。

vi グループ更新.sh
 
#!/bin/bash
`cat user-lists.txt` 内のユーザー
する
usermod -aG mygroup $user
終わり

group-update.sh ファイルの実行権限を設定します。

# chmod +グループ更新.sh

最後にスクリプトを実行して実装します。

#sh グループ更新.sh

getent コマンドを使用して出力を見てみましょう。 はい、user1、user2、user3 が mygroup に正常に追加されました。

#getent グループ mygroup
私のグループ:x:1012:ユーザー1、ユーザー2、ユーザー3

gpasswd コマンドを使用して複数のユーザーを複数のセカンダリ グループまたは追加グループに追加するにはどうすればよいですか?

gpasswd コマンドを使用して複数のユーザーを複数のセカンダリ グループまたは補助グループに追加する場合は、次のシェル スクリプトを作成します。

ユーザーリストを作成します。各ユーザーは別々の行に表示する必要があります。

$ cat ユーザーリスト.txt
ユーザー1
ユーザー2
ユーザー3

グループリストを作成します。各グループは別々の行に配置する必要があります。

$ cat グループリスト.txt
マイグループ
私のグループ1

複数のユーザーを複数のセカンダリ グループに追加するには、次のシェル スクリプトを使用します。

#!/bin/sh
`more user-lists.txt` 内のユーザー
する
`more group-lists.txt` 内のグループ
する
usermod -a -G $グループ $ユーザー
終わり

group-update-1.sh ファイルの実行権限を設定します。

# chmod +x グループ更新-1.sh

最後にスクリプトを実行して実装します。

#sh グループ更新 1.sh

getent コマンドを使用して出力を見てみましょう。 はい、user1、user2、user3 が mygroup に正常に追加されました。

#getent グループ mygroup
私のグループ:x:1012:ユーザー1、ユーザー2、ユーザー3

さらに、user1、user2、user3 が mygroup1 に正常に追加されました。

#getent グループ mygroup1
mygroup1:x:1013:ユーザー1、ユーザー2、ユーザー3

方法 4: Linux でユーザーをグループに手動で追加する方法

/etc/group ファイルを編集することで、ユーザーを任意のグループに手動で追加できます。

/etc/group ファイルを開き、更新するユーザーのグループ名を検索します。最後に、ユーザーを対応するグループに更新します。

# vi /etc/グループ

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • Linux のユーザーとグループ管理によく使われるコマンドの概要
  • Linux でユーザーとグループを作成、変更、削除する方法
  • Linux で userdel を使用してユーザーとグループを削除できない問題の解決策
  • Linux ユーザーおよびグループ コマンドの概要と詳細な紹介
  • Linux 検索フィルタリングとユーザーおよびグループ管理コマンドの例
  • Linux オペレーティング システムにおけるユーザーとグループの構成管理ガイド
  • Linuxでユーザーが所属するグループを変更する方法
  • Linux における効果的なユーザー グループと初期ユーザー グループの実装
  • Linux ユーザー グループと権限の概要
  • Linux でのユーザーとユーザー グループの追加/削除の詳細な説明
  • Linux ですべてのユーザーとユーザー グループを表示する方法 (ユーザー グループを変更する)
  • Linux ユーザーとグループのコマンド例分析 [切り替え、ユーザーの追加、権限制御など]

<<:  Vueがビデオアップロード機能を実装

>>:  Mysqlは隣接リスト(隣接リスト)を通じてツリー構造を保存します。

推薦する

ドロップダウンメニューを実現するためのHTML+CSS

1. ドロップダウンリストの例コードは次のとおりです。 <!doctypehtml> ...

サーバーから返される14の一般的なHTTPステータスコードの詳細な説明

HTTP ステータス コードステータス コードは 3 桁の数字と理由フレーズ (最も一般的なもの: ...

JDBC を使用して MySQL を操作するための簡単な分析では、Class.forName("com.mysql.jdbc.Driver") を追加する必要があります。

導入データベースに接続するためにJDBCを使用することに慣れている場合は、データベースに接続するため...

Nginx レベルで基本的なユーザー認証を構成する手順を完了します。

序文アプリケーション シナリオ: おそらく、内部 Web サイトは外部ユーザーにアクセス可能である必...

Tomcat 実行時の JVM エンコーディングの問題を修正

質問:最近、プロジェクトを展開すると文字化けしたデータが出てきました。確認したところ、プロジェクトは...

Linuxでディスク使用量を確認する方法

1. dfコマンドを使用してディスク全体の使用量を表示します。 df コマンドは、ハードディスクのマ...

js キャンバスで円形の水のアニメーションを実現

この記事の例では、円形の水のアニメーションを実現するためのキャンバスの具体的なコードを参考までに共有...

MySQLカスケードレプリケーションの実装方法の例

いわゆるカスケード レプリケーションでは、マスター サーバーが 1 つのスレーブ サーバーにのみデー...

Vue Router の 10 の高度なヒントのまとめ

序文Vue Router は、Vue.js の公式ルーティング マネージャーです。 Vue.js の...

Centos7 の起動プロセスと Systemd での Nginx の起動構成

Centos7 の起動プロセス: 1.post(電源投入時のセルフテスト) 電源投入時のセルフテスト...

安全な構成のためにDockerでTLSを有効にする手順

序文以前、Docker の 2375 Remote API を有効にしていました。会社のセキュリティ...

MySQLにおける遅いSQLの最適化の方向性について詳しく話しましょう

目次序文SQL文の最適化遅いクエリSQLを記録する設定を変更する方法スロークエリログを表示するSQL...

Centos7.5でのIPアドレス設定の実装

1. IPアドレスを設定する前に、まずifconfigを使用してネットワークカード情報を表示し、ネッ...

ミニマルなウェブサイトデザインの例

Web アプリケーション クラス1. みんなのためにダウンまたは私だけのためにこのウェブサイトは、ウ...

MySQL テーブルにおける非主キー列オーバーフロー監視の詳細な説明

今日もまた罠に落ちてしまいました。 私は以前MySQLの主キーオーバーフローに遭遇したことがあり、そ...