サイトアイコン スグブログ

【Linux基礎】ユーザー名などを変更する方法!usermodコマンドを使用

ジャンプ

Linuxサーバーでユーザ―名など情報を変更したい場合はないでしょうか?

ユーザーを削除して再作成などしてないでしょうか?

という事で今回はLinuxサーバーで、ユーザー変更する方法を教えます。

筆者はWindowsサーバーやLinuxサーバーの運用構築を11年間以上おこなってきました。その経験を元に知識を公開していきます!

ユーザー作成したけど、ユーザー名やホームディレクトリを変更したい人はこの記事を読んでください。

Linuxサーバーでユーザー名を変更する方法

Linuxサーバーでユーザーを変更するコマンドの基礎構文を以下に示します。

usermod オプション ユーザー名

これでユーザーの情報を変更できます。

Linuxサーバーでユーザーを変更する時のオプション

Linuxサーバーでユーザーを変更する時のオプションをまとめます。

usermodコマンドのオプション効果
-l ユーザー名ユーザー名を変更する
-d ホームディレクトリのパスホームディレクトリのパス変更
-mホームディレクトリを変更する時に中身も移動させる
-g グループID1次グループIDの変更
-G グループID2次グループIDの変更
-s シェルのパスログインシェルの変更
ユーザー変更コマンドのオプション一覧

ユーザー名を変更する

Linuxでユーザー名を変更するにはlオプションを使用します。

usermod -l 新ログイン名 変更したいユーザー名

まずは「userchange」というユーザーを作成してみます。

useradd userchange

ユーザーを作成する「useradd」コマンドについては、以下の記事で詳しく説明しています。

ユーザーが作成されたか一覧で確認します。

[root@localhost ~]# cat /etc/passwd | grep userchange
userchange:x:1027:1027::/home/userchange:/bin/bash

ユーザーが作成されています。

ではこのユーザー名を変更してみます。

usermod -l userchange-after userchange

ユーザー名が変更されているか確認します。

[root@localhost ~]# cat /etc/passwd | grep userchange-after
userchange-after:x:1027:1027::/home/userchange:/bin/bash

ユーザー名が変更されています。

ホームディレクトリのパス変更

先程確認してユーザー名は変更されていますが、ホームディレクトリは変更されていない事に気が付いたでしょうか?

ホームディレクトリを変更するにはdオプションを使用します。

usermod -d /home/userchange-after userchange-after

ユーザーのホームディレクトリが変更されたか確認します。

[root@localhost ~]# cat /etc/passwd | grep userchange-after
userchange-after:x:1027:1027::/home/userchange-after:/bin/bash

ホームディレクトリが変更されています。

ホームディレクトリを変更する時に中身も移動させる

先程ユーザーのホームディレクトリを変更しました。

実際のホームディレクトリの中身を確認してみましょう!「userchange」という名前がつくディレクトリがあるか確認しています。

[root@localhost ~]# ls /home/ | grep userchange
userchange

「userchange-after」というディレクトリがありません。

ホームディレクトリを指定しただけでは、以前のホームディレクトリを引き継ぐ事はできません。

そんな時はdオプションと共にmオプションをつけましょう!

そうする事でホームディレクトリも移動できます。

usermod -d /home/userchange-after -m userchange-after

ホームディレクトリも移動しているか確認します。

[root@localhost ~]# ls /home/ | grep userchange-after
userchange-after

ホームディレクトリも移動されています。

グループIDの変更

グループIDを変更できます。グループIDを確認します。

[root@localhost ~]# cat /etc/passwd | grep userchange-after
userchange-after:x:1027:1027::/home/userchange-after:/bin/bash

グループIDが確認できました。1027になっています。

グループIDを100に変更してみます。

usermod -g 100 userchange-after

確認します。

[root@localhost ~]# cat /etc/passwd | grep userchange-after
userchange-after:x:1027:100::/home/userchange-after:/bin/bash

グループIDが100に変更されています。

その他にもオプションは沢山ありますが、ほとんどがパスワードを変更する為の「passwd」コマンドでも可能です。

「passwd」コマンドの方が一般的なので、割愛します。

Linuxサーバーでユーザー管理に関するその他の記事について

ユーザーを一覧表示して確認する方法について

ユーザー作成する方法について

ユーザー削除する方法について

ユーザー名変更する方法について

ユーザーのパスワード管理について

まとめ:Linuxでユーザー名を変更するコマンドについて

Linuxサーバーでユーザーを変更するコマンドの基礎構文は以下でした。

usermod オプション ユーザー名

ユーザーを変更する時のオプションをまとめます。

usermodコマンドのオプション効果
-l ユーザー名ユーザー名を変更する
-d ホームディレクトリのパスホームディレクトリのパス変更
-mホームディレクトリを変更する時に中身も移動させる
-g グループID1次グループIDの変更
-G グループID2次グループIDの変更
-s シェルのパスログインシェルの変更
ユーザー変更コマンドのオプション一覧

ユーザー名を変更しただけでは、ホームディレクトリもホームディレクトリの中身も変更前のままです。

どちらも変更するにはdオプションとmオプションを使用します。

usermod -l 新ユーザー名 -d 新ディレクトリのパス -m 既存のユーザー名

これでユーザー名とディレクトリのパスと中身を変更できます。

モバイルバージョンを終了