はじめに
適当に付けてしまったユーザ名を変更したいと思ったがユーザ名を変更してもホームディレクトリ名は自動では変わってくれなかった。
ホームディレクトリ名をユーザ名に合わせて変更する方法をメモしておく。
環境など
Docker Desktop for Windowsを利用
PS C:\Users\mkx> docker run -it centos
で試せる。
2021/09/26現在だとCentOS Linux release 8.4.2105が入った。
手順(よりスマートな方法)
コメントで紹介いただいた方法です。こっちのほうが速いです。
[root@a292c8744a99 /]# useradd -m aiueo
[root@a292c8744a99 /]# usermod -md /home/aiueo2 -l aiueo2 aiueo
[root@a292c8744a99 /]# su - aiueo2
[aiueo2@a292c8744a99 ~]$ pwd
/home/aiueo2
手順(試行錯誤)
Step 1
まずはaiueo
というユーザを作成し、その後aiueo
→aiueo2
と名前を変更
[root@c2550a42e062 /]# useradd -m aiueo # ホームディレクトリを作成しながらユーザを追加
[root@c2550a42e062 /]# su - aiueo
[aiueo@c2550a42e062 ~]$ pwd
/home/aiueo
[aiueo@c2550a42e062 ~]$ exit
logout
[root@c2550a42e062 /]# usermod -l aiueo2 aiueo
[root@c2550a42e062 /]# su - aiueo2
Last login: Sun Sep 26 14:23:54 UTC 2021 on pts/0
[aiueo2@c2550a42e062 ~]$ pwd
/home/aiueo
ホームディレクトリが/home/aiueo
のままになっている。ホームディレクトリを/home/aiueo2
に設定したい。
Step 2
/home/aiueo
→/home/aiueo2
にディレクトリ名を変更
[aiueo2@c2550a42e062 ~]$ exit
logout
[root@c2550a42e062 /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@c2550a42e062 /]# cd home
[root@c2550a42e062 home]# ls
aiueo
[root@c2550a42e062 home]# mv aiueo aiueo2
[root@c2550a42e062 home]# su - aiueo2
Last login: Sun Sep 26 14:24:23 UTC 2021 on pts/0
su: warning: cannot change directory to /home/aiueo: No such file or directory
aiueo2
のホームディレクトリは/home/aiueo
のままなのでNo such file or directory
と怒られる。
Step 3
/home/aiueo2
をaiueo2のホームディレクトリに設定する。
[aiueo2@c2550a42e062 home]$ pwd
/home
[aiueo2@c2550a42e062 home]$ ls
aiueo2
[aiueo2@c2550a42e062 home]$ exit
logout
[root@c2550a42e062 home]# ls
aiueo2
[root@c2550a42e062 home]# usermod -d /home/aiueo2 aiueo2
[root@c2550a42e062 home]# su - aiueo2
Last login: Sun Sep 26 14:24:59 UTC 2021 on pts/0
[aiueo2@c2550a42e062 ~]$ pwd
/home/aiueo2
su - aiueo2
で無事/home/aiueo2
に入れた。