Однако в течение 5 лет я загружался в Ubuntu Distros с графическим интерфейсом; в этом году мой профессор заставил меня добавить Windows на мою машину. Раньше я использовал двойную загрузку этих двух, однако, как я уверен, большинство из вас, вероятно, уже знают, несколько дистрибутивов Linux были доступны для использования разработчиками, работающими в среде «Windows 10», поэтому я решил настроить WSL вместо двойной загрузки.
Итак, я настраивал WSL и обращался к документации здесь Официальная страница Ubuntu на WSL всякий раз, когда у меня возникали проблемы. Я не мог войти в Ubuntu по какой-либо причине, однако WSL и Ubuntu, похоже, работают нормально, поэтому я просто использовал самую известную в мире работу Linux и вошел в систему как root (что потребовало от меня установить пользователя по умолчанию как root) Проблема в том, что я не могу вернуть первоначальное приглашение ввести имя пользователя и пароль, что, насколько я понимаю, позволяет правильно создать нового пользователя для виртуального экземпляра WSL Ubuntu.
Я никогда не делал этого, поэтому я не знаю, как должна выглядеть правильная учетная запись sudo / admin по умолчанию в «Операционной системе Ubuntu», работающей в Windows -10-подсистема. Это необходимо, чтобы я получил приглашение обратно, или я могу создать нового пользователя самостоятельно? Если я настраиваю нового пользователя самостоятельно, то как правильно настроить учетную запись администратора верхнего уровня (также известную как Sudo-account) для экземпляра WSL Ubuntu.
admin: sudo
единственной группой, в которую необходимо добавить учетную запись администратора верхнего уровня безопасности (также известную как Sudo-account), если я создам другую группу с тем же именем, что и учетную запись администратора, которую я создаю? Проблема в том, что я не могу вернуть первоначальное приглашение для ввода имени пользователя и пароля, что, насколько я понимаю, позволяет правильно создать нового пользователя для виртуального экземпляра WSL Ubuntu.
Верно. Первоначальное создание пользователя выполняется при первом запуске исполняемого файла распространения ( .exe
, установленного из Microsoft Store). В случае Ubuntu это обычно ubuntu.exe
, хотя он может отличаться в зависимости от того, установлена ли «именованная версия» в Магазине (например, в частности, Ubuntu 20.04). Тем не менее, вполне возможно создать пользователя по умолчанию вручную (см. Ниже).
Начнем с wsl -l -v
, чтобы узнать, какое имя дистрибутива. Скорее всего, это будет просто «Ubuntu», но измените приведенные ниже команды, если они отличаются.
Можно вернуться в исходное состояние «конфигурации» с большим допущением и предупреждением, что при этом будут удалены все данные / конфигурация в экземпляре ( виртуальная файловая система и т. д.). Это команда wsl --unregister Ubuntu
.
После этого вы просто сможете повторно запустить «Ubuntu» из меню «Пуск», и дистрибутив будет воссоздан.Затем он попросит вас ввести имя пользователя / пароль по умолчанию.
sudo
Изящный трюк, который вы, вероятно, найдете полезным, заключается в том, что WSL можно запустить с любым доступным пользователем, включая root
, без необходимости для пароля:
wsl ~ -u root
wsl ~ -u fred
Хотя сначала вы можете быть встревожены возможностью запускать root без пароля, имейте в виду, что даже в качестве root ваши разрешения в WSL никогда не могут превышать ваши права пользователя Windows. Тем не менее, пожалуйста, никогда не делайте этого .
Во-первых, чтобы ответить на некоторые из ваших вопросов:
Должна ли учетная запись быть системной и должна ли она использовать произвольное имя, присвоенное Ubuntu?
Не уверен, что вы имеете в виду здесь точно, но ответ, я считаю, «нет». Пользователя по умолчанию можно назвать как угодно. Для удобства я рекомендую просто использовать ваше обычно предпочитаемое имя пользователя.
Должен ли аккаунт иметь домашний каталог?
Да, и этот домашний каталог должен находиться в / home
, не на подключенном к Windows диске (например, / mnt / c
).
Является ли sudo-group admin: sudo единственной группой, в которую необходимо добавить учетную запись администратора верхнего уровня безопасности (также известную как Sudo-account), если я создам другую группу с тем же именем, что и учетная запись администратора, которой я являюсь create?
Метод Ubuntu по умолчанию (как «чистый Linux», так и «WSL») заключается в создании группы с тем же именем, что и имя пользователя. Хотя, возможно, не требуется , я считаю это «лучшей практикой».
Насколько я могу судить, следующее создаст пользователя по умолчанию с теми же настройками, что и стандартный установщик / конфигурация. Изнутри Ubuntu:
useradd --create-home --user-group --groups adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password "encryptedPassword" username
Конечно, можно изменить имя пользователя
на то, что вы хотите. Поскольку вы уже работаете как root, нет необходимости в sudo
или каких-либо уловках, конечно, но другим читателям без варианта использования OP может потребоваться sudo
или wsl - u root
(как описано в этом ответе ).
Конечно, большинство из этих групп, вероятно, не являются строго необходимыми для 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) username
«Обычно», установщик дистрибутива WSL (например, ubuntu.exe
) изменяет реестр Windows с имя пользователя по умолчанию для дистрибутива. Тем не менее, я рекомендую более новый метод. От имени пользователя root создайте файл /etc/wsl.conf
со следующим содержимым:
[user]
default=username
Снова, конечно, подставив свое имя пользователя
.
Чтобы узнать об альтернативных методах, см. этот вопрос и его различные ответы.
Я лично рекомендую сделать резервную копию этой «готовой к запуску» копии вашего дистрибутива на данном этапе.Опять же, из PowerShell:
wsl --export Ubuntu "2021-08-26 Default Ubuntu 20.04.tar"
Если вам нужно развернуть одноразовый экземпляр WSL для тестирования чего-либо без изменения «ежедневного драйвера», вы можете легко wsl --import
этот дистрибутив (назвав его как-то иначе чем просто "Ubuntu"), затем выбросьте его с помощью wsl --unregister
.