Linuxでユーザーをグループに追加するコマンド

ユーザー操作系のコマンドって、日常的に使うものでもないので忘れがちですよね。とくにユーザーをグループに追加するコマンドは、なんだか忘れがちな気がします。ここでは、たまに必要になる「既存ユーザーをグループに追加するコマンド」を確認しておきましょう。

ユーザーをグループに追加するコマンドで、一番のオススメは「gpasswd」です。以下のように実行します。

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

ユーザー「lintaro」を「docker」グループに加えるなら、以下のように実行します。

sudo gpasswd -a lintaro docker

なお、usermodでも同じことができます

sudo usermod -aG グループ名[...] ユーザー名

ただし、こちらは「-aG」じゃなくて「-G」と入力すると、指定したグループ以外から外れてしまうという罠があるので、注意が必要です。とくにUbuntuの場合、すべてのユーザーがsudoグループから外れると管理者権限で作業できるユーザーがいなくなってしまいます。危険なので、gpasswdを使うほうがいいでしょう。

なお、UbuntuなどのDebian系ディストリビューションでは、以下のコマンドも使えます。

sudo adduser ユーザー名 グループ名

こちらも分かりやすいですが、Red Hat系などの他のディストリビューションを使うこともあるなら、やはり「gpasswd」で覚えておくのが良いでしょうね。

なお、グループ設定を変更しても、ログイン中のユーザーにはすぐ反映されません。たとえば、dockerコマンドをsudoなしで実行するために自分をdockerグループに加えたとしても、一度ログアウトしてログインしなおすまでは設定が有効にならず、sudoなしでdockerコマンドを使おうとしてもエラーになってしまう、ということになります。