Linuxコマンド辞典 gpasswdコマンド(ユーザ/グループ管理)

グループのパスワードを管理する「gpasswd」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

グループの管理者ユーザの指定や解除、グループのパスワード設定と解除、グループへのユーザ追加と削除などを行います。このコマンドを実行するとグループと、グループに所属するユーザリストである「/etc/group」、グループのパスワードリストの「/etc/gshadow」が編集されます。NIS(Network Information Service)やLDAP(Lightweight Directory Access Protocol)を利用したユーザグループはgpasswdコマンドでは行えません。

書式

$gpasswd [オプション] グループ名

オプション

-a ユーザ名
–add ユーザ名
グループにユーザを追加する
-d ユーザ名
–delete ユーザ名
グループからユーザを削除する
-r
–remove-password
グループパスワードを削除する
-M [ユーザ名・・・]指定したユーザ名をグループに追加する。複数ユーザ名は「.」で区切る

グループにパスワードを設定する

グループにパスワードを設定することができます。

管理者権限

$gpasswd グループ名

実行結果

[root@i-host ~]# groupadd projectA
[root@i-host ~]# cat /etc/group|grep projectA
projectA:x:5003:
[root@i-host ~]# gpasswd projectA
Changing the password for group projectA
New Password: 
Re-enter new password: 
[root@i-host ~]# 

グループにメンバを登録する

既存グループにメンバを追加することができます。

管理者権限

$gpasswd -a ユーザ名 グループ名

実行結果

[root@i-host ~]# gpasswd -a testuser projectA
Adding user testuser to group projectA
[root@i-host ~]# cat /etc/group|grep projectA
projectA:x:5003:testuser
[root@i-host ~]# 

グループからメンバを削除する

既存グループからメンバを外すことができます。

管理者権限

$gpasswd -d ユーザ名 グループ名

実行結果

[root@i-host ~]# gpasswd -d testuser projectA
Removing user testuser from group projectA
[root@i-host ~]# cat /etc/group|grep projectA
projectA:x:5003:
[root@i-host ~]# 

グループのパスワードを削除

グループに登録されているパスワードを削除することができます。

管理者権限

$gpasswd -r グループ名

実行結果

[root@i-host ~]# gpasswd projectA
Changing the password for group projectA
New Password: 
Re-enter new password: 
[root@i-host ~]# gpasswd -R projectA
[root@i-host ~]# 

passwdコマンドの-Rオプションと-rオプションの違い
-Rオプションも-rオプションもグループに設定されたパスワードを削除することができます。
ただし、-rオプションでパスワード削除した場合、「newgrp」コマンドを実行することにより、グループのメンバのみがグループに参加できるようになります。
-Rオプションで削除した場合は、「newgrp」コマンドを実行してもグループに参加することができません。

グループ管理者を登録する

グループの管理者を設定することができます。グループの管理者として登録したユーザは、そのグループメンバの追加、削除、グループパスワードの設定、変更など様々なグループ管理が行えます。

ユーザはカンマ(,)で区切ることで複数登録できます。

管理者権限

$gpasswd -A ユーザ名・・・ グループ名

実行結果

[root@i-host ~]# gpasswd -A taro,hanako projectA
[root@i-host ~]#