Score:0

การสร้างผู้ใช้ผู้ดูแลระบบระดับบนสุดใหม่สำหรับ Ubuntu บน WSL

ธง cn

การสลับ Ubuntu มาตรฐานสำหรับ win-10 w/ "WSL Ubuntu"

เป็นเวลา 5 ปีแล้วที่ฉันบูทเป็น Ubuntu Distros ด้วยเดสก์ท็อป GUI; ปีนี้ อาจารย์ของฉันบังคับให้ฉันเพิ่ม Windows ลงในเครื่องของฉัน ในอดีตฉันจะบูททั้งสองเครื่องเป็นสองเท่า อย่างไรก็ตาม เนื่องจากฉันแน่ใจว่าพวกคุณส่วนใหญ่น่าจะทราบดีอยู่แล้วว่า Linux distros หลายตัวได้ถูกทำให้พร้อมใช้งานโดยนักพัฒนาที่ทำงานในสภาพแวดล้อม "Windows 10" ดังนั้นฉันจึงตัดสินใจ ตั้งค่า WSL แทนการบูทคู่

สถานะระบบปฏิบัติการของเครื่องของฉัน

ดังนั้นฉันจึงตั้งค่า WSL และอ้างถึงเอกสารที่นี่ หน้า Ubuntu อย่างเป็นทางการบน WSL เมื่อใดก็ตามที่ฉันมีปัญหา ฉันไม่สามารถลงชื่อเข้าใช้ Ubuntu ได้ไม่ว่าด้วยเหตุผลใดก็ตาม อย่างไรก็ตาม WSL และ Ubuntu ดูเหมือนจะทำงานได้ดี ดังนั้นฉันจึงใช้ Linux ที่มีชื่อเสียงที่สุดในโลกและเข้าสู่ระบบด้วยรูท (ซึ่งทำให้ฉันต้องตั้งค่าผู้ใช้เริ่มต้นเป็นรูท) . ปัญหาคือ ฉันไม่สามารถรับข้อความแจ้งเริ่มต้นกลับให้ป้อนชื่อผู้ใช้และรหัสผ่าน ซึ่งจากสิ่งที่ฉันเข้าใจคือวิธีการสร้างผู้ใช้ใหม่อย่างถูกต้องสำหรับอินสแตนซ์ WSL Ubuntu เสมือน

คำอธิบายเชิงลึกของคำถามในมือ

ฉันไม่เคยทำสิ่งนี้มาก่อน ดังนั้นฉันจึงไม่รู้ว่าบัญชี sudo/admin เริ่มต้นที่เหมาะสมควรมีลักษณะอย่างไรใน "ระบบปฏิบัติการ Ubuntu" ที่ทำงานในระบบย่อย Windows-10 จำเป็นไหมที่ฉันต้องได้รับข้อความแจ้งกลับ หรือฉันจะตั้งค่าผู้ใช้ใหม่เองได้ไหม ถ้าฉันตั้งค่าผู้ใช้ใหม่ด้วยตัวเอง วิธีที่ถูกต้องในการกำหนดค่าบัญชีผู้ดูแลระบบระดับบนสุด (หรือที่เรียกว่าบัญชี Sudo) สำหรับอินสแตนซ์ WSL ของ Ubuntu คืออะไร

สิ่งต่าง ๆ เกี่ยวกับการกำหนดค่าที่ไม่ชัดเจนสำหรับฉันรวมถึง:

  1. บัญชีควรเป็นบัญชีระบบและควรใช้ชื่อที่กำหนดโดยอูบุนตูหรือไม่
  2. บัญชีควรมีโฮมไดเร็กตอรี่หรือไม่?
  3. คือ sudo-group ผู้ดูแลระบบ: sudo กลุ่มเดียวที่จำเป็นต้องเพิ่มบัญชีผู้ดูแลระบบระดับความปลอดภัยสูงสุด (บัญชี Sudo) ฉันควรสร้างกลุ่มอื่นด้วยชื่อเดียวกันกับบัญชีผู้ดูแลระบบที่ฉันสร้างหรือไม่
NotTheDr01ds avatar
vn flag
นอกจากนี้ หากคุณชอบประสบการณ์เดสก์ท็อป Ubuntu เต็มรูปแบบ โปรดทราบว่า Windows 11 จะรวม WSLg เข้ากับความสามารถในการรันแอพลินุกซ์แบบกราฟิก (ค่อนข้างต่อเนื่องตามความเข้าใจของฉัน) ในระหว่างนี้ โปรดดู[คำตอบนี้](https://stackoverflow.com/a/68856351/11810933) หากคุณต้องการเข้าถึงสภาพแวดล้อมเดสก์ท็อปเต็มรูปแบบจากภายใน WSL ผ่าน `xrdp` ใน Windows
muru avatar
us flag
การจัดรูปแบบใบเสนอราคาและการจัดรูปแบบโค้ดมีความหมายเชิงความหมายเฉพาะ (เช่น โปรแกรมอ่านหน้าจอและซอฟต์แวร์การเข้าถึงอื่นๆ อย่าใช้มันในทางที่ผิดเพียงเพื่อ "รูปลักษณ์"
NotTheDr01ds avatar
vn flag
JAY-DEV ฉันเห็นด้วยอย่างยิ่งกับ @muru ที่นี่ และแนะนำว่าอย่าทำสงครามตัดต่อกับเขาหรือ Zanna ;-) แม้ว่าเราจะเข้าใจความต้องการของคุณในการจัดรูปแบบ แต่การแก้ไขนั้นชัดเจน กระชับ และถูกต้องตามความหมาย
JΛYÐΞV avatar
cn flag
ความหมายจะหลวมที่สุด หากคุณไม่ชอบก็ตั้งค่าสถานะคำถาม
Score:4
ธง vn

ปัญหาคือ ฉันไม่สามารถรับข้อความแจ้งเริ่มต้นกลับให้ป้อนชื่อผู้ใช้และรหัสผ่าน ซึ่งจากสิ่งที่ฉันเข้าใจคือวิธีการสร้างผู้ใช้ใหม่อย่างถูกต้องสำหรับอินสแตนซ์ WSL Ubuntu เสมือน

ถูกต้อง. การสร้างผู้ใช้เริ่มต้นจะเสร็จสิ้นเมื่อปฏิบัติการแจกจ่าย (ไฟล์ .exe ที่ติดตั้งจาก Microsoft Store) ถูกเรียกใช้งานเป็นครั้งแรก ในกรณีของ Ubuntu นั้นโดยทั่วไปแล้ว ubuntu.exeแม้ว่าอาจแตกต่างกันไปขึ้นอยู่กับว่าคุณติดตั้ง "เวอร์ชันที่มีชื่อ" ใน Store หรือไม่ (เช่น Ubuntu 20.04 โดยเฉพาะ) ที่กล่าวว่าเป็นไปได้ทั้งหมดที่จะสร้างผู้ใช้เริ่มต้นด้วยตนเอง (ดูด้านล่าง)

เริ่มต้นด้วย wsl -l -v เพื่อดูว่าชื่อการแจกจ่ายคืออะไร ส่วนใหญ่จะเป็นเพียง "Ubuntu" แต่แก้ไขคำสั่งด้านล่างหากแตกต่างออกไป


ปุ่ม "ง่าย"

เป็นไปได้ที่จะกลับไปสู่สถานะ "การกำหนดค่า" เริ่มต้น โดยมีข้อสันนิษฐานใหญ่และข้อแม้ในการทำเช่นนั้น จะลบข้อมูล/การกำหนดค่าทั้งหมดในอินสแตนซ์ (ระบบไฟล์เสมือน ฯลฯ) คำสั่งนั้นคือ wsl --unregister อูบุนตู.

หลังจากทำเช่นนั้น คุณควรจะสามารถเรียกใช้ "Ubuntu" อีกครั้งจากเมนู Start และการกระจายจะถูกสร้างขึ้นใหม่ จากนั้นระบบจะขอชื่อผู้ใช้/รหัสผ่านเริ่มต้นจากคุณ


ทำงานเป็นรูทโดยไม่ต้องใช้ ซูโด

เคล็ดลับง่ายๆ ที่คุณอาจพบว่ามีประโยชน์คือ WSL สามารถเริ่มต้นกับผู้ใช้ที่มีอยู่ รวมถึง รากโดยไม่จำเป็นต้องใช้รหัสผ่าน:

wsl ~ -u รูต
wsl ~ -u เฟร็ด

แม้ว่าในตอนแรกคุณอาจรู้สึกตื่นตระหนกกับความสามารถในการรันรูทโดยไม่ต้องใช้รหัสผ่าน แต่โปรดจำไว้ว่าแม้ในฐานะรูท สิทธิ์ของคุณใน WSL จะไม่มีวันเกินสิทธิ์ของผู้ใช้ Windows ที่กล่าวว่าโปรด ไม่เคย ทำเช่นนี้.


แถบด้านข้าง: คำถามของคุณ

ก่อนอื่น เพื่อตอบคำถามของคุณ:

บัญชีควรเป็นบัญชีระบบ และควรใช้ชื่อที่กำหนดโดย Ubuntu หรือไม่

ไม่แน่ใจว่าคุณหมายถึงอะไรที่นี่ แต่ฉันเชื่อว่าคำตอบคือ "ไม่" ผู้ใช้เริ่มต้นสามารถตั้งชื่ออะไรก็ได้ที่คุณต้องการ ฉันแนะนำให้ใช้ชื่อผู้ใช้ที่คุณต้องการตามปกติเพื่อความสะดวก

บัญชีควรมีโฮมไดเร็กตอรี่หรือไม่?

ใช่ และโฮมไดเร็กทอรีนั้นควรอยู่ในนั้น /บ้าน, ไม่ บนไดรฟ์ที่ติดตั้ง Windows (เช่น /mnt/ค).

sudo-group admin:sudo เป็นกลุ่มเดียวที่ต้องเพิ่มบัญชีผู้ดูแลระบบระดับความปลอดภัยสูงสุด (หรือที่เรียกว่า Sudo-account) ฉันควรสร้างกลุ่มอื่นที่มีชื่อเดียวกันกับบัญชีผู้ดูแลระบบที่ฉันสร้างหรือไม่

วิธีการเริ่มต้นของ Ubuntu (ทั้ง "pure Linux" และ "WSL") คือการสร้างกลุ่มที่มีชื่อเดียวกับชื่อผู้ใช้ ในขณะที่อาจจะไม่ ที่จำเป็นฉันจะถือว่าเป็น "แนวทางปฏิบัติที่ดีที่สุด"


สร้างผู้ใช้ WSL "เริ่มต้น" ใหม่โดยไม่ต้องติดตั้งใหม่

เท่าที่ฉันสามารถบอกได้ สิ่งต่อไปนี้จะสร้างผู้ใช้เริ่มต้นด้วยการตั้งค่าเดียวกันกับที่ตัวติดตั้ง/การกำหนดค่าสต็อกทำ จากภายใน Ubuntu:

useradd --create-home --user-group --groups adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password "encryptedPassword" ชื่อผู้ใช้

แน่นอนการปรับเปลี่ยน ชื่อผู้ใช้ เพื่อเป็นอะไรก็ได้ที่คุณต้องการ เนื่องจากคุณรันในฐานะรูทอยู่แล้ว จึงไม่จำเป็นต้องใช้ ซูโด หรือเล่ห์เหลี่ยมใด ๆ ที่นั่น แต่ผู้อ่านคนอื่น ๆ ที่ไม่มีกรณีการใช้งานของ OP อาจต้องการ ซูโด หรือ wsl -u รูต (ตามเอกสารใน คำตอบนี้).

แน่นอนว่ากลุ่มเหล่านี้ส่วนใหญ่อาจไม่จำเป็นอย่างยิ่งภายใต้ WSL แต่ใครจะรู้ - แอพบางตัวอาจคาดหวังจากบางส่วน และดีกว่าปลอดภัยกว่าขออภัย อีกครั้ง นี่คือรายการกลุ่ม "สต็อก" ที่จัดเตรียมไว้สำหรับผู้ใช้เมื่อสร้างโดยตัวกำหนดค่า Ubuntu/WSL

ดู ที่นี่ สำหรับวิธีการสร้างรหัสผ่านที่เข้ารหัส โดยเฉพาะ (แม้ว่าจะไม่ได้ทดสอบเป็นการส่วนตัวสำหรับบรรทัดคำสั่งนี้):

useradd --create-home --user-group --groups adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password $(read -sp รหัสผ่าน: pw ; echo $pw | openssl รหัสผ่าน -1 -stdin) ชื่อผู้ใช้

การตั้งค่าผู้ใช้ WSL เริ่มต้น

"ปกติ" โปรแกรมติดตั้ง distro WSL (เช่น ubuntu.exe) แก้ไข Windows Registry ด้วยชื่อผู้ใช้เริ่มต้นสำหรับ distro ฉันขอแนะนำวิธีการที่ใหม่กว่า ในฐานะรูท ให้สร้างไฟล์ /etc/wsl.conf โดยมีเนื้อหาดังนี้

[ผู้ใช้]
ค่าเริ่มต้น = ชื่อผู้ใช้

แน่นอนอีกครั้งแทนที่ของคุณ ชื่อผู้ใช้.

สำหรับเทคนิคทางเลือก โปรดดูที่ คำถามนี้ และคำตอบที่หลากหลาย


ขั้นตอนต่อไปที่แนะนำ

โดยส่วนตัวแล้วฉันขอแนะนำให้สำรองสำเนาการแจกจ่ายของคุณที่ "พร้อมใช้งาน" ในขั้นตอนนี้ อีกครั้งจาก PowerShell:

wsl --export Ubuntu "2021-08-26 เริ่มต้น Ubuntu 20.04.tar"

หากคุณต้องการหมุนอินสแตนซ์ WSL ทิ้งเพื่อทดสอบบางอย่างโดยไม่ต้องแก้ไข "ไดรเวอร์รายวัน" คุณสามารถทำได้ง่ายๆ wsl -- นำเข้า การกระจายนี้ (เรียกอีกอย่างว่า "Ubuntu") จากนั้นทิ้งมันไป wsl -- ยกเลิกการลงทะเบียน.

JΛYÐΞV avatar
cn flag
__`1`__***`UP`***__``__ นี่เป็นคำตอบที่ยอดเยี่ยม â แสดงให้เห็นอย่างชัดเจนว่าคุณใส่ใจในคำถามที่คุณกำลังตอบ และชุมชนที่คุณ ฉัน และ คำถาม & คำตอบนี้เป็นของทั้งหมด หากคุณต้องทำซ้ำผ่านบัญชี Stack Overflow ของฉัน คุณจะพบว่าฉันตอบคำถามอย่างละเอียดมากเกินไปในลักษณะเดียวกัน ฉันไม่ค่อยถามคำถาม โดยปกติแล้วฉันสามารถหาทางออกได้เมื่อฉันติดขัดโดยใช้ทรัพยากรที่มีอยู่ แต่เมื่อฉันถามคำถามในอดีต ไม่มีสักคนที่ได้รับคำตอบที่ใกล้เคียงกับคุณภาพ คำตอบนี้
NotTheDr01ds avatar
vn flag
@ JAY-DEV ขอบคุณสำหรับคำพูดที่ดีและดีใจที่ฉันสามารถช่วยได้ แม้จะไม่ได้อ่านคำตอบบางส่วนของคุณ (ซึ่งฉันวางแผนที่จะทำ) เวลาที่คุณใช้จัดรูปแบบคำถามเพื่อความชัดเจนด้วยหัวข้อ/อื่นๆ แสดงระดับการจัดองค์กรและทักษะการสื่อสารที่เหนือกว่าพาร์ ทำให้ฉันนึกถึงชั้นเรียนบังคับ "Intro to Communications" ที่พวกเขาให้ก่อนเรียน MBA คืนความรุ่งโรจน์ให้กับคุณเช่นกัน และยินดีต้อนรับสู่ WSL! :-)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา