Создание нового пользователя-администратора верхнего уровня для Ubuntu на WSL

Замена стандартного Ubuntu на win-10 с "WSL Ubuntu"

Однако в течение 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.

В конфигурации, которые мне не совсем понятны, входят:

  1. Должна ли учетная запись быть системной и должна ли она использовать произвольное имя, присвоенное ubuntu?
  2. Должна ли учетная запись иметь домашний каталог?
  3. Является ли sudo-group admin: sudo единственной группой, в которую необходимо добавить учетную запись администратора верхнего уровня безопасности (также известную как Sudo-account), если я создам другую группу с тем же именем, что и учетную запись администратора, которую я создаю?
-1
задан 27 August 2021 в 13:04

1 ответ

Проблема в том, что я не могу вернуть первоначальное приглашение для ввода имени пользователя и пароля, что, насколько я понимаю, позволяет правильно создать нового пользователя для виртуального экземпляра WSL Ubuntu.

Верно. Первоначальное создание пользователя выполняется при первом запуске исполняемого файла распространения ( .exe , установленного из Microsoft Store). В случае Ubuntu это обычно ubuntu.exe , хотя он может отличаться в зависимости от того, установлена ​​ли «именованная версия» в Магазине (например, в частности, Ubuntu 20.04). Тем не менее, вполне возможно создать пользователя по умолчанию вручную (см. Ниже).

Начнем с wsl -l -v , чтобы узнать, какое имя дистрибутива. Скорее всего, это будет просто «Ubuntu», но измените приведенные ниже команды, если они отличаются.


«Простая» кнопка

Можно вернуться в исходное состояние «конфигурации» с большим допущением и предупреждением, что при этом будут удалены все данные / конфигурация в экземпляре ( виртуальная файловая система и т. д.). Это команда wsl --unregister Ubuntu .

После этого вы просто сможете повторно запустить «Ubuntu» из меню «Пуск», и дистрибутив будет воссоздан.Затем он попросит вас ввести имя пользователя / пароль по умолчанию.


Запуск от имени пользователя root без использования 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») заключается в создании группы с тем же именем, что и имя пользователя. Хотя, возможно, не требуется , я считаю это «лучшей практикой».


Создание нового пользователя 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 по умолчанию

«Обычно», установщик дистрибутива 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 .

3
ответ дан 4 September 2021 в 09:27

Другие вопросы по тегам:

Похожие вопросы: