usermod / gpasswd の使い方

ユーザーの設定を変える

書き方

usermod -aG グループ ユーザー
usermod -s /sbin/nologin ユーザー(ログインさせない)
usermod -L / -U ユーザー(パスワードのロック / 解除)
usermod -e 2025-03-31 ユーザー(アカウントの期限)
gpasswd -a ユーザー グループ

-a を付けずに -G だけだと、今のグループから外れてしまうので注意。-L はパスワードを止めるだけで、鍵での SSH ログインは止まりません。止めるなら -s /sbin/nologin や -e も使います。

よく使うオプション

オプション意味
-aG グループ今のグループはそのままに、グループを足す
-G グループ補助グループを書いたものだけにする(-a が無いと外れる)
-s シェルログインシェルを変える(/sbin/nologin でログインさせない)
-L / -Uパスワードをロックする / 外す
-e 日付アカウントの期限を決める
-d ディレクトリ -mホームディレクトリを変え、中身も移す

例

$ sudo usermod -aG wheel kenji

kenji を wheel グループに足し、sudo を使えるようにします。新しくログインし直すと効きます。

$ id kenjiuid=1001(kenji) gid=1001(kenji) groups=1001(kenji),10(wheel)

グループに入ったかを確かめます。groups= に wheel が出れば OK です。

$ sudo usermod -s /sbin/nologin batch

batch ユーザーをログインできないようにします。プログラムを動かすためだけのユーザーに使います。

$ sudo usermod -e 2027-03-31 guest

guest のアカウントを 2027 年 3 月 31 日までにします。期限を過ぎるとログインできません。

$ sudo gpasswd -a kenji devteam

gpasswd でもグループにメンバーを足せます。-d で外せます。

よくある間違い・注意

  • -a を付けずに -G だけで実行すると、書かなかったグループから外れてしまいます。
  • グループの変更は、今ログインしているシェルには効きません。ログインし直すか newgrp を使います。
  • -L はパスワードを止めるだけで、SSH の鍵でのログインは止まりません。

実際に打って練習する

Linux レベル1 コースの Lv50「ギルドに迎える usermod」で覚えます(第3章 権限の城(権限とユーザー))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Linux コマンド一覧(LinuC レベル1 の範囲)へ戻る