Linuxコマンド - グループ関連
概要
グループにユーザを追加する
usermodコマンド
特定のグループにユーザを追加するには、usermod
コマンドを使用する。
sudo usermod <オプション> <グループ名> <ユーザ名>
例えば、現在ログインしているユーザをグループdialoutに追加する場合は、以下のコマンドを実行する。
# -aオプションを付加しない場合、上書きになるので注意すること sudo usermod -aG dialout $USER
useraddコマンド
特定のグループにユーザを追加するには、adduser
コマンドを使用する。
sudo useradd <オプション> <ユーザ名> <グループ名>
例えば、現在ログインしているユーザをグループdialoutに追加する場合は、以下のコマンドを実行する。
sudo useradd $USER dialout
上記のグループdialoutは、Linuxのシステムグループの1つである。
USBを含むシリアルポートへのフルアクセスを設定できる。
グループからユーザを削除する
gpasswdコマンド
特定のグループからユーザを削除するには、gpasswd -d
コマンドを使用する。
sudo gpasswd -d <ユーザ名> <グループ名>
例えば、現在ログインしているユーザをグループdialoutから削除する場合は、以下のコマンドを実行する。
sudo gpasswd -d $USER dialout
userdelコマンド
特定のグループからユーザを削除するには、userdel
コマンドを使用する。
sudo userdel <オプション> <ユーザ名> <グループ名>
例えば、現在ログインしているユーザをグループdialoutから削除する場合は、以下のコマンドを実行する。
sudo userdel $USER dialout
ユーザが所属しているグループを表示する
特定のユーザが所属しているグループ一覧を表示するには、groups
コマンドを使用する。
groups <ユーザ名>
例えば、ユーザhogeが所属しているグループを表示するには、以下のコマンドを実行する。
groups hoge
また、現在ログインしているユーザが所属しているグループの場合、ユーザ名は省略できる。
groups
グループに所属するユーザ群を表示する
特定のグループが所属しているユーザ一覧を表示するには、getent group
コマンドの使用、または、/etc/groupファイルを表示する。
getent group <グループ名> または cat /etc/group cat /etc/group | grep -i <検索するグループ名>
例えば、グループwheelのみを確認するには、以下のコマンドを実行する。
getent group wheel または cat /etc/group | grep -i "wheel"
グループの作成
グループを作成する場合は、groupadd
コマンドを使用する。
sudo groupadd <グループ名>
グループとユーザを同時に作成
# RHEL sudo dnf install adduser # SUSE sudo zypper install shadow-utils
--system
オプション- ユーザを作成する。
--no-create-home
オプション- ホームディレクトリを作成しない。
--shell /bin/false
オプション- ログインシェルを/bin/falseに設定する。
- このユーザはログインできなくなる。
--user-group
オプション- ユーザ名と同じ名前のグループを作成する。
# nginxユーザおよびnginxグループを同時に作成する場合 sudo useradd --system --no-create-home --shell /bin/false --user-group nginx
グループの削除
グループを削除する場合は、groupdel
コマンドを使用する。
groupdel
コマンドには、オプションは無い。
sudo groupdel <グループ名>
groupdel
コマンドを実行することにより変更されるファイルは、以下の2つである。
- /etc/group
- /etc/gshadow
削除対象のグループをイニシャルグループ(主グループ)とするユーザが存在する場合、そのグループを削除することができない。
その時、まず、イニシャルグループ(主グループ)とするユーザを削除した後、グループを削除する。
# イニシャルグループ(主グループ)とするユーザを削除する sudo userdel -r <ユーザ名> # グループを削除する sudo groupdel <グループ名>