almaLinuxでユーザー名を変更する【さくらのVPS】

さくらのVPSでは、almaLinux をインストールすると alma というユーザー名が作られる。デフォルトのユーザー名だとセキュリティ的に不安なので任意のユーザー名に変更した。

以下のページにくわしい手順が載っているが、エラーに遭遇もしたので復習もかねてまとめた。

AlmaLinux 8
目次: OS基本設定- インストールOS, ユーザー, パーティション, ブートローダ, ロケール, SELinux, ネットワーク, I/Oスケジューラ, NTPクライアント, パッケージ, ...

1.root ユーザーでログインする

作業の為、一時的に root ユーザーでログイン可能なよう、パスワードを設定する。ここで設定したパスワードは作業後に削除するので時間をかけて練る必要はない。

sudo passwd root

passwd はパスワードを変更するためのコマンド。

root のパスワードを設定したら root でログインし直す。

2.ユーザー名を変更

ユーザー名を変更する前に、alma が現在のユーザーであることを確認

id alma

ユーザー名を変更

usermod -l 新ログイン名 alma(旧ログイン名)

メッセージが出て変更できなかった。

usermod: user alma(元ユーザー名) is currently used by process 815

なんか使われているらしいのでプロセスを終了させる

kill 815
kill -KILL 815 ← こっちの方が強力

しかし、teratarm からサーバーにログインして、root にユーザー変更後、alma のプロセスをすべて終了させてようとすると、teratarm が強制終了する。おそらく、サーバーにログイン時に alma でログインしているのが原因。alma のプロセスが発生しないように、さくらのVPS のコントロールパネルの VNCコンソールから root でログインして、ユーザー名変更を実行。以降、変更後のユーザーに sudo の権限を与えるまではコントロールパネルからコンソールを操作した方がエラーに遭遇しにくい。

VNCコンソールに root でログイン後、改めてユーザー名変更を実施

usermod -l 新ログイン名 alma(旧ログイン名)

3.ユーザーのホームディレクトリを変更する

ユーザーのホームディレクトリは自動的に変更されない為、新しいユーザー名と同名のホームディレクトリに移動する。 既に運用中である場合、絶対パスで指定および参照されている箇所が無いか注意!

usermod -m -d /home/新ユーザー名 新ユーザー名

オプションの意味
-d パス → パス ユーザーのホームディレクトリを変更する(現ディレクトリの内容を移動したい場合は「-m」オプションを同時に指定)
-m →(「-d」オプション指定時)現ホームディレクトリの内容を新たな場所に移動する

※ usermod は user modify の略。

ユーザーのホームディレクトリが変更された事を確認。

[root@localhost ~]# echo ~新ユーザー名
/home/新ユーザー名
[root@localhost ~]# ls -l ~新ユーザー名

4.ユーザーグループ名を変更する

groupmod -n 新ユーザー名 元ユーザー名

ユーザーの所属グループのグループ名が変更された事を確認

[root@localhost ~]# id 新ユーザー名
uid=1000(新ユーザー名) gid=1000(新ユーザー名) groups=1000(新ユーザー名),10(wheel)

5.sudoの設定を変更する

# visudo

# 最終行に有る下記の alma を変更後のユーザー名に変更します。
alma ALL=(ALL) NOPASSWD: ALL

# 変更例
新ユーザー名 ALL=(ALL) NOPASSWD: ALL

変更後のユーザーにsudo権限が与えられている事を確認。

# sudo -l -U 新ユーザー名
Matching Defaults entries for 新ユーザー名 on localhost:
!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin,
env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

User 新ユーザー名 may run the following commands on localhost:
(ALL) ALL
(ALL) NOPASSWD: ALL

6.rootユーザーでログイン不可能とする

変更後のユーザー名でログインし直して、sudoコマンドが利用できる事を確認する。

[新ユーザー名@localhost ~]$ id
uid=1000(sakura) gid=1000(sakura) groups=1000(sakura),10(wheel)
[新ユーザー名@localhost ~]$ pwd
/home/sakura
[新ユーザー名@localhost ~]$ sudo ls ~root # sudoが利用できるかの確認の為、他のコマンドでの確認でも問題ございません。

確認ができたら、一時的に設定した root ユーザーのパスワードを削除してロック。

[新ユーザー名@localhost ~]$ sudo passwd -d root
[新ユーザー名@localhost ~]$ sudo passwd -l root

以上で、ユーザー名の変更は完了。

タイトルとURLをコピーしました