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

推薦する

CSS3 の新しいレイアウト: flex の詳細な説明

Flexの基本概念フレックス レイアウト (フレックスはフレキシブル ボックスの略)、エラスティック...

Linux オペレーティング システムに Apache サービスをインストールする方法

ダウンロードリンク:動作環境VMware 仮想マシンの CentOS 7.6セキュアCRT Xftp...

Remレイアウトを使用して適応性を実現する

以前、モバイル適応に関する記事を書きました。非常に長く、内容が多すぎて読みづらいものでした。そこで、...

Linux nslookup コマンドの使用方法の詳細な説明

[nslookup とは?] 】 nslookup コマンドは、Linux で非常によく使用されるネ...

MySQLデータクエリが多すぎるとOOMが発生するかどうかについての簡単な議論

目次サーバー層でのフルテーブルスキャンの影響InnoDB におけるフルテーブルスキャンの影響Inno...

vueプロジェクトは特定の領域に透かしを描くことを実現する

この記事では、Vueを使用して特定の領域に透かしを描く方法を紹介します。具体的な内容は次のとおりです...

Linux でリモート MySQL データベースを手動で展開する方法の詳細な説明

1. mysql をインストールします。次のコマンドを実行して、YUM ソースを更新します。 rpm...

WeChatアプレットはシンプルな計算機を実装する

WeChatアプレットの簡単な計算機は参考用です。具体的な内容は次のとおりです。 1. はじめに1....

中国における中国語ドメイン名の人気は新たなクライマックスを迎えた

<br />外交部などの中央政府機関、各レベルの地方政府、その他の国家機関や部門が率先し...

Dockerコンテナとローカルマシン間でファイルを転送する方法

ホストとコンテナ間でファイルを転送するには、コンテナの完全な ID が必要です。取得方法は以下の通り...

MySQL 文字セットの表示と変更のチュートリアル

1. 文字セットを確認する1. MYSQLデータベースサーバーとデータベースの文字セットを確認する方...

Dockerコンテナがホストポートにアクセスできない場合の解決策

最近、仕事中に問題が発生しました。Docker コンテナがホストの redis にアクセスできず、t...

CSS3で実装されたサムネイルホバー効果

成果を達成する実装コードhtml <ヘッダー> <h1><em>...

JavaScriptはオブジェクトの不要なプロパティを削除します

目次例方法1: 削除方法2: 分解補充する要約するThinking シリーズは、10 分で実用的なプ...

ウォーターフォールフローレイアウトを実装する3つの方法

序文今日、Xianyuを閲覧していたとき、各行の高さが同じではないことに気付きました。調べてみると、...