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は隣接リスト(隣接リスト)を通じてツリー構造を保存します。

推薦する

Vueは小さなメモ帳機能を実装しました

この記事の例では、メモ帳の小さな機能を実現するためのvueの具体的なコードを参考までに共有しています...

CSS フォントの新しい使い方: カラーフォントの実装

デザイナーが特別なイベントのタイトルフォントとして以下のフォントを使用したい場合はどうすればよいでし...

ユーザーがフォームを繰り返し送信するのを防ぐ方法の概要

重複したフォーム送信は、マルチユーザー Web アプリケーションで最も一般的で厄介な問題です。重複送...

iframe パラメータの説明と例

<iframe src=”test.jsp” width=”100″ height=”50″ ...

MySQL information_schema データベースの詳細な説明

1. 概要information_schema データベースは performance_schema...

Vue 仮想 DOM クイックスタート

目次仮想DOM仮想DOMとは何か仮想DOMの役割Vue の仮想 DOM vノードvNodeとはvNo...

CSS 手法を使用してモジュール性を実現する例

1. CSS 方法論とは何ですか? CSS methodologiesデザイン パターンまたは CS...

HTML ウェブページ作成のための 8 つの強力なテクニック

<br />作業を簡単に完了できる Web ページ作成ツールは数多くありますが、HTML...

docker compose を使用して consul クラスタ環境を構築する例

領事の基本概念サーバーモードとクライアントモードサーバー モードとクライアント モードは、consu...

Js クラスの構築と継承のケースの詳細な説明

JS のクラスの定義や継承は本当に多様なので、別のノートブックを開いて記録しておきます。意味オブジェ...

テーブルの最大幅と最小幅を設定する際の互換性の問題と解決策の詳細な説明

テーブル内の min-width と max-width プロパティの設定 <テーブル>...

同期スクロールを実現するための複数のテーブル要素のサンプルコード

Element UIは、複数のテーブルを同時に水平および垂直にスクロールすることを実装します。 コー...

MySQL の自己結合重複排除に関する注意事項

機能シナリオを簡単に説明しましょう。データ行フィールドは次のとおりです。名前開始日時タイプこの表では...

WeChatアプレット認証ログインを処理するエレガントな方法

序文WeChat ミニプログラム プロジェクトでユーザー情報を取得し、ユーザー ログインを実装する場...

CSS3の新しい背景プロパティの詳細な説明

これまで、CSS の背景の属性には、color、image、repeat、attachment、po...