Как я могу добавить пользователя sudo в WSL, используя команды в powershell? - PullRequest
2 голосов
/ 20 марта 2019

Я пытаюсь автоматизировать настройку WSL с помощью сценариев powershell. У меня установлен дистрибутив Ubuntu 18.04 для WSL в моей системе Windows 10.

Я хочу запустить следующие команды в powershell для настройки пользователя sudo tec с паролем 1 в WSL.

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

Если я войду в WSL, набрав bash в командной строке Windows, а затем выполню следующую команду:

usermod --password $(echo 1 | openssl passwd -1 -stdin) tec

Правильно устанавливает пароль. После этого я могу стать пользователем root, введя пароль 1 при появлении запроса.

Может кто-нибудь помочь мне выяснить, где я ошибаюсь, используя скрипт powershell?

1 Ответ

2 голосов
/ 20 марта 2019

Я получил ответ.Просто завершение зашифрованного пароля во вторую команду с одинарной кавычкой работало отлично.

Ubuntu1804 run usermod --password '$(echo 1 | openssl passwd -1 -stdin)' tec

Теперь команды powershell для создания пользователя sudo tec с паролем 1 для WSL выглядят следующим образом:

# 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
...