1.08.1基礎
既存ユーザーoldnameのログイン名をnewnameへ変更する。
適切なコマンドはどれか。
× 不正解
usermod -l NEW_LOGIN OLD_LOGINでログイン名を変更する。ホーム名は自動では変わらない。
詳細解説
誤り
usermod -d newname oldname-dはホームディレクトリのパスを変更する。
-dはnewnameをホームパスとして登録するため、oldnameのログイン名は変わらない。
誤り
usermod -g newname oldname-gはプライマリグループを変更する。
-gはnewnameというグループへ主GIDを変える操作で、アカウント名を変更しない。
正しい
usermod -l newname oldname-l NEW_LOGIN OLD_LOGINでログイン名を変更する。
-lの引数newnameを新しいログイン名として、最後のoldnameを変更対象として扱う。
誤り
usermod -s newname oldname-sはログインシェルを変更する。
-sはnewnameをシェルとして登録するため、ログイン名の変更にならない。
実際に確かめる
一時的な検証環境で実行できる例です。
usermod --help | grep -E -- '-l,|--login'期待される結果
新しいログイン名を示す説明行理解のポイント
- -lはlogin名
- 変更対象は既存user
- home変更は別操作
確認時の注意
- 確認環境: shadow-utils usermod help / 状態変更なし
基礎のおさらい
変更対象の順序
usermodのオプション引数で新しい値を示し、最後のLOGINで既存ユーザーを指定する。
関連名
ログイン名を変えてもホームのディレクトリ名や補助グループ名は自動で同じ名前へ変わるとは限らない。
問題IDKL-102-1019
確認環境shadow-utils usermod help / 状態変更なし
最終技術確認2026-08-13
誤り・権利侵害を報告