Problema este că nu pot primi înapoi solicitarea inițială pentru a introduce un nume de utilizator și o parolă, care, din câte am înțeles, este modul în care un utilizator nou este creat corect pentru instanța virtuală WSL Ubuntu.
Dreapta. Crearea inițială a utilizatorului se face atunci când executabilul de distribuție ( .executabil
care este instalat din Microsoft Store) este rulat pentru prima dată. În cazul Ubuntu, asta este de obicei ubuntu.exe
, deși poate diferi în funcție de dacă ați instalat o „versiune numită” în Magazin (de exemplu, Ubuntu 20.04 în mod specific). Acestea fiind spuse, este în întregime posibil să creați un utilizator implicit manual (vezi mai jos).
Sa incepem cu wsl -l -v
pentru a vedea care este numele distribuției. Cel mai probabil va fi doar „Ubuntu”, dar modificați comenzile de mai jos dacă este diferit.
Butonul „ușor”.
Este posibil să reveniți la starea inițială de „configurare”, cu marea presupunere și avertisment că făcând acest lucru va șterge toate datele/configurațiile din instanță (sistemul de fișiere virtual etc.). Acea comandă este wsl --unregister Ubuntu
.
După ce faceți asta, ar trebui să puteți pur și simplu să rulați din nou „Ubuntu” din meniul Start, iar distribuția va fi recreată. Apoi vă va cere numele de utilizator/parola implicite.
Rulează ca root, fără a fi nevoie de sudo
Un truc frumos pe care probabil îl veți găsi util este că WSL poate fi pornit cu orice utilizator disponibil, inclusiv rădăcină
, fără a fi nevoie de o parolă:
wsl ~ -u rădăcină
wsl ~ -u fred
Deși s-ar putea să fiți alarmat inițial de capacitatea de a rula root fără o parolă, rețineți că, chiar și ca root, permisiunile dvs. în WSL nu pot depăși niciodată permisiunile dvs. de utilizator Windows. Acestea fiind spuse, vă rog nu fa asta.
Bara laterală: Întrebările tale
În primul rând, pentru a răspunde la câteva dintre întrebările dvs.:
Contul ar trebui să fie un cont de sistem și ar trebui să folosească un nume arbitrar atribuit de Ubuntu?
Nu sunt sigur la ce te referi exact aici, dar răspunsul, cred, este „nu”. Utilizatorul implicit poate fi numit cum doriți. Vă recomand să utilizați doar numele dvs. de utilizator preferat pentru comoditate.
Contul ar trebui să aibă un director principal?
Da, iar acel director ar trebui să fie în /Acasă
, nu pe o unitate montată pe Windows (de ex. /mnt/c
).
Este sudo-group admin:sudo singurul grup la care trebuie adăugat contul de administrator la nivel superior (alias Sudo-account), ar trebui să creez un alt grup cu același nume ca și contul de administrator pe care îl creez?
Metoda implicită Ubuntu (atât „Linux pur”, cât și „WSL”) este de a crea un grup cu același nume ca și numele de utilizator. În timp ce poate nu necesar, aș considera asta o „best-practice”.
Crearea unui nou utilizator WSL „implicit” fără reinstalare
Din câte îmi pot da seama, următoarele vor crea utilizatorul implicit cu aceleași setări pe care le face instalatorul/configurarea stocului. Din interiorul Ubuntu:
useradd --create-home --user-group --groups adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password "encryptedPassword" nume de utilizator
Desigur, modificare nume de utilizator
să fii orice vrei tu. Deoarece rulați deja ca root, nu este nevoie de sudo
sau orice șmecherie acolo, desigur, dar alți cititori fără cazul de utilizare al OP ar putea avea nevoie sudo
sau rădăcină wsl -u
(după cum este documentat în acest raspuns).
Desigur, cele mai multe dintre aceste grupuri probabil nu sunt strict necesare în cadrul WSL, dar cine știe - Unele aplicații se pot aștepta la unele dintre ele, și mai bine să vă protejați decât să vă pare rău. Din nou, aceasta este lista de grup „stock” care este furnizată utilizatorului atunci când este creată de configuratorul Ubuntu/WSL.
Vedea Aici pentru cum să creați parola criptată. Mai exact (deși personal netestat pentru această linie de comandă exactă):
useradd --create-home --user-group --groups adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password $(read -sp Parola: pw ; echo $pw | openssl passwd -1 -stdin) nume de utilizator
Setarea utilizatorului WSL implicit
„În mod normal”, programul de instalare a distribuției WSL (de ex. ubuntu.exe
) modifică Registrul Windows cu numele de utilizator implicit pentru distro. Recomand totuși o metodă mai nouă. Ca root, creați un fișier /etc/wsl.conf
cu urmatorul continut:
[utilizator]
implicit=nume utilizator
Din nou, bineînțeles, înlocuindu-vă nume de utilizator
.
Pentru tehnici alternative, vezi această întrebare și diversele sale răspunsuri.
Următorii pași recomandați
Recomand personal să faceți copii de rezervă pentru această copie „gata de rulare” a distribuției dvs. în această etapă. Din nou, din PowerShell:
wsl --export Ubuntu „2021-08-26 Ubuntu implicit 20.04.tar”
Dacă trebuie să porniți o instanță WSL de folosit pentru a testa ceva fără a modifica „driverul zilnic”, puteți cu ușurință wsl --import
această distribuție (numind-o altceva decât „Ubuntu”), apoi aruncați-o wsl --unregister
.