我正在尝试使用Powershell脚本自动化WSL设置。
我在Windows 10系统中为WSL安装了Ubuntu 18.04发行版。
我想在Powershell中运行以下命令以在WSL中使用密码tec
设置sudo用户1
。
Ubuntu1804 run useradd -m tec
Ubuntu1804 run usermod --password $(echo 1 | openssl passwd -1 -stdin) tec
Ubuntu1804 run usermod -aG sudo tec
问题是,第二条命令未正确设置密码。试图成为root用户最终以
sudo: 3 incorrect password attempts
如果我通过从Windows命令提示符下键入
bash
进入WSL,然后执行以下命令:usermod --password $(echo 1 | openssl passwd -1 -stdin) tec
它可以正确设置密码。之后,可以在出现提示时输入密码
1
成为root用户。谁能帮助我找到Powershell脚本出了什么问题?
最佳答案
我得到了答案。
只需在第二个命令中用单引号将加密的密码包装起来就可以了。
Ubuntu1804 run usermod --password '$(echo 1 | openssl passwd -1 -stdin)' tec
现在,powershell命令为WSL创建一个带有密码
tec
的sudo用户1
看起来像:# Creates the user
Ubuntu1804 run useradd -m tec
# sets password for user
Ubuntu1804 run usermod --password '$(echo 1 | openssl passwd -1 -stdin)' tec
# adds user to the sudo group
Ubuntu1804 run usermod -aG sudo tec