Linuxでグループ(またはセカンドグループ)にユーザーを追加する
重要なポイント
ユーザーをグループに追加するには、ターミナルを開き、ウィンドウに「sudo usermod -a -G examplegroup exampleusername」と入力します。「examplegroup」と「exampleusername」を変更したいグループ名とユーザー名に置き換えてください。
ユーザーが関連付けられているグループを変更することは比較的簡単な作業ですが、コマンドを知っている人はあまり多くありません。特に、ユーザーをセカンダリグループに追加する方法は知らない人が多いです。すべてのシナリオについて説明します。
Linuxでは、ユーザーアカウントを1つ以上のグループに割り当てることができます。グループごとにファイルの権限やその他の特権を設定できます。例えば、Ubuntuでは、sudoグループに属するユーザーのみがsudoコマンドを使用して権限を昇格させることができます。
新しいLinuxラップトップを使用している場合、これらの設定を構成するためのGUIインターフェースがあるかもしれません(少なくとも実行しているディストリビューションによります)が、現実的には端末に移動していくつかのコマンドを入力する方がほぼ常に簡単です。ですので、今日はその方法をお見せします。
新しいグループを追加する
システムに新しいグループを作成したい場合は、以下のgroupaddコマンドを使用し、新しいグループの名前をnew_groupの部分に置き換えます。このコマンドを実行するには、sudoを使用する必要があります(または、sudoを使用しないLinuxディストリビューションでは、suコマンドを単独で実行して権限を昇格させてからコマンドを実行する必要があります)。
sudo groupadd new_group既存のユーザーアカウントをグループに追加する
既存のユーザーアカウントをシステムのグループに追加するには、usermod コマンドを使用します。examplegroup を追加したいグループの名前に、exampleusername を追加したいユーザーの名前に置き換えてください。
usermod -a -G examplegroup exampleusername例えば、ユーザー geek をグループ sudo に追加するには、次のコマンドを使用します:
usermod -a -G sudo geekユーザーのプライマリーグループを変更する
ユーザーアカウントは複数のグループに属することができますが、そのうちの1つは常に「プライマリグループ」であり、他のグループは「セカンダリグループ」です。ユーザーのログインプロセスや、ユーザーが作成するファイルおよびフォルダーはプライマリグループに割り当てられます。
ユーザーが割り当てられているプライマリグループを変更するには、usermodコマンドを実行し、examplegroupをプライマリにしたいグループ名に、exampleusernameをユーザーアカウント名に置き換えます。
usermod -g examplegroup exampleusername-gに注意してください。小文字のgを使用すると、主要なグループが割り当てられます。上記のように大文字の-Gを使用すると、新しい二次グループが割り当てられます。
ユーザーアカウントが割り当てられているグループを表示する
現在のユーザーアカウントが割り当てられているグループを表示するには、groupsコマンドを実行します。グループのリストが表示されます。
groups
各グループに関連付けられた数値IDを見るには、代わりにidコマンドを実行してください:
id他のユーザーアカウントが割り当てられているグループを表示するには、groups コマンドを実行し、ユーザーアカウントの名前を指定します。
groups exampleusername各グループに関連付けられた数値IDを表示することもできます。これは、id コマンドを実行し、ユーザー名を指定することで行います。
id exampleusernamegroups リストの最初のグループ、または id リストの "gid=" の後に表示されているグループがユーザーアカウントのプライマリグループです。他のグループはセカンダリグループです。下のスクリーンショットでは、ユーザーアカウントのプライマリグループは example です。
新しいユーザーを作成し、1つのコマンドでグループを割り当てる
特定のリソースやディレクトリ、例えば新しいFTPユーザーにアクセスできる新しいユーザーアカウントを作成したい場合があります。ユーザーアカウントを作成する際に useradd コマンドを使って、ユーザーアカウントに割り当てるグループを指定することができます。次のようにして:
useradd -G examplegroup exampleusernameたとえば、jsmithという名前の新しいユーザーアカウントを作成し、そのアカウントをftpグループに割り当てるには、次のように実行します:
useradd -G ftp jsmithもちろん、そのユーザーのためにパスワードを設定したいでしょう。
passwd jsmith複数のグループにユーザーを追加する
ユーザーアカウントに副グループを割り当てる際、リストをコンマで区切ることで複数のグループを一度に簡単に割り当てることができます。
usermod -a -G group1,group2,group3 exampleusername例えば、geekという名前のユーザーをftp、sudo、およびexampleグループに追加するには、以下のコマンドを実行します:
usermod -a -G ftp,sudo,example geek好きなだけグループを指定できます---ただし、すべてをカンマで区切ってください。
システム上のすべてのグループを見る
システム上のすべてのグループのリストを表示したい場合は、getent コマンドを使用できます:
getent groupこの出力では、どのユーザーアカウントがどのグループのメンバーであるかも示されます。したがって、以下のスクリーンショットでは、ユーザーアカウントのsyslogとchrisがadmグループのメンバーであることが確認できます。
それで、Linuxでユーザーをグループに追加する際に知っておくべきことはすべてカバーされるはずです。
Linuxコマンド | ||
ファイル | t | |
プロセス | A | |
ネットワーキング | netstat・ping・traceroute・ip・ss・whois・fail2ban・bmon・dig・finger・nmap・ftp・curl・wget・who・whoami・w・iptables・ssh-keygen・ufw・arping・firewalld |








