🔄

WSLのユーザーを変更(rename)する方法

2023/10/19に公開

概要

usermod → groupmod でできますが、少しコツが要ります。

やり方

起動中のwslをシャットダウンする

目的:変更したいユーザーのプロセスが残っていると変更できないので一度落とす。

# 管理者 @powershell
wsl --shutdown

ディストリビューションへのrootログイン

目的:直接rootでログインすることで、変更対象ユーザーのプロセスを起動しない。

# 管理者 @powershell
wsl -u root

必要であればオプションでディストリビューションを指定すること。

ログインユーザーの情報変更

目的:名前・グループを変えた上で、ファイルも移動させる

# root @wsl
usermod -l ${after_name} -d /home/${after_name} -m ${before_name}
groupmod -n ${after_name} ${before_name}

デフォルトユーザー変更

目的:wslへのデフォルトログインユーザーを変える

方法A コマンド実行

コマンドはディストリビューションごとに異なります。以下、Ubuntu-22.04の場合

# 管理者 @powershell
ubuntu2204 config --default-user ${after_name}

方法B ファイル編集

/etc/wsl.conf に以下を記述

[user]
default=${after_name}

→ wsl --shutdown して再起動で反映

Discussion