Проблема в том, что я не могу вернуть исходное приглашение ввести имя пользователя и пароль, что, насколько я понимаю, правильно создает нового пользователя для виртуального экземпляра WSL Ubuntu.
Правильно. Первоначальное создание пользователя выполняется, когда исполняемый файл дистрибутива (файл .исполняемый
установленный из Microsoft Store) запускается в первый раз. В случае с Ubuntu это обычно Ubuntu.exe
, хотя это может отличаться в зависимости от того, установили ли вы «именованную версию» в Магазине (например, конкретно Ubuntu 20.04). При этом вполне возможно создать пользователя по умолчанию вручную (см. ниже).
Давайте начнем с wsl -l -v
чтобы узнать, как называется дистрибутив. Скорее всего, это будет просто «Ubuntu», но измените приведенные ниже команды, если они отличаются.
Кнопка "легко"
Можно вернуться к исходному состоянию «конфигурации», с большим предположением и оговоркой, что при этом удалит все данные/конфигурацию в экземпляре (виртуальная файловая система и т. д.). Эта команда wsl --отменить регистрацию Ubuntu
.
После этого вы просто сможете повторно запустить «Ubuntu» из меню «Пуск», и дистрибутив будет воссоздан. Затем он запросит у вас имя пользователя/пароль по умолчанию.
Запуск от имени root, без необходимости судо
Изящный трюк, который вы, вероятно, найдете полезным, заключается в том, что WSL можно запустить с любым доступным пользователем, включая корень
, без необходимости ввода пароля:
wsl ~ -u корень
wsl ~ -u фред
Хотя поначалу вас может встревожить возможность запуска root без пароля, имейте в виду, что даже в качестве root ваши разрешения в WSL никогда не могут превышать разрешения пользователя Windows. Так сказать, пожалуйста никогда сделай это.
Боковая панель: Ваши вопросы
Во-первых, чтобы ответить на некоторые из ваших вопросов:
Должна ли учетная запись быть системной учетной записью и должна ли она использовать произвольное имя, назначенное Ubuntu?
Не уверен, что именно вы имеете в виду здесь, но ответ, я думаю, "нет". Пользователя по умолчанию можно назвать как угодно. Я рекомендую просто использовать обычно предпочитаемое имя пользователя для удобства.
Должна ли учетная запись иметь домашний каталог?
Да, и этот домашний каталог должен быть в /дом
, нет на смонтированном в Windows диске (например, / млн / с
).
Является ли sudo-group admin:sudo единственной группой, в которую необходимо добавить учетную запись администратора с наивысшим уровнем безопасности (также известную как учетная запись Sudo), должен ли я создать еще одну группу с тем же именем, что и учетная запись администратора, которую я создаю?
Метод Ubuntu по умолчанию (как «чистый Linux», так и «WSL») заключается в создании группы с тем же именем, что и имя пользователя. Хотя, возможно, нет обязательный, я бы посчитал это "лучшей практикой".
Создание нового пользователя WSL «по умолчанию» без переустановки
Насколько я могу судить, следующее создаст пользователя по умолчанию с теми же настройками, что и стандартный установщик/конфигурация. Изнутри Ubuntu:
useradd --create-home --user-group --groups adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password "encryptedPassword" имя пользователя
Конечно, модификация имя пользователя
быть тем, кем ты хочешь. Поскольку вы уже работаете как root, нет необходимости судо
или какие-либо хитрости там, конечно, но другим читателям без варианта использования ОП может понадобиться судо
или же wsl -u корень
(как задокументировано в этот ответ).
Конечно, большинство из этих групп, вероятно, не являются строго необходимыми в WSL, но кто знает — некоторые приложения могут ожидать некоторые из них, и лучше перестраховаться, чем потом сожалеть. Опять же, это стандартный список групп, который предоставляется пользователю при создании с помощью конфигуратора Ubuntu/WSL.
Видеть здесь как создать зашифрованный пароль. В частности (хотя лично не проверено для этой точной командной строки):
useradd --create-home --user-group --groups adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password $(read -sp Password: pw ; echo $pw | openssl passwd -1 -stdin) имя пользователя
Настройка пользователя WSL по умолчанию
«Обычно» установщик дистрибутива WSL (например, Ubuntu.exe
) изменяет реестр Windows с именем пользователя по умолчанию для дистрибутива. Тем не менее, я рекомендую более новый метод. Как root, создайте файл /etc/wsl.conf
со следующим содержанием:
[пользователь]
по умолчанию = имя пользователя
Опять же, конечно, подставив свой имя пользователя
.
Альтернативные методы см. этот вопрос и его различные ответы.
Рекомендуемые следующие шаги
Я лично рекомендую сделать резервную копию этой «готовой к запуску» копии вашего дистрибутива на данном этапе. Опять же, из PowerShell:
wsl --export Ubuntu "2021-08-26 Ubuntu 20.04.tar по умолчанию"
Если вам нужно развернуть одноразовый экземпляр WSL для тестирования чего-либо без изменения вашего «ежедневного драйвера», вы можете легко wsl --импорт
этот дистрибутив (назвав его как-то иначе, чем просто «Ubuntu»), затем выбросьте его вместе с wsl --отменить регистрацию
.