Raspbian โดยค่าเริ่มต้นมีการกำหนดค่าเพื่อให้บัญชี root ไม่สามารถเข้าสู่ระบบโดยใช้รหัสผ่าน สิ่งนี้ทำได้โดยเริ่มต้นด้วยรายการ/etc/password
ที่เริ่มต้น:
root:x:0:0:
ฟิลด์จะถูกคั่นด้วยโคลอนและอธิบายในman 5 passwd
(โปรดสังเกตว่า5
เนื่องจากman passwd
จะให้ man page สำหรับคำสั่งpasswd
ส่วนที่ 5 ใช้สำหรับไฟล์คอนฟิกูเรชันและในกรณีนี้พวกเขามีชื่อเดียวกัน) นี่อันแรกคือชื่อ ( root
) ที่สามและสี่คือ uid ตัวเลขและ gid (ทั้ง0
) และที่สองคือรหัสผ่าน สำหรับรายการส่วนใหญ่จะเป็นแสดงให้เห็นรหัสผ่านที่แท้จริงอยู่ในไฟล์อื่นx
/etc/shadow
โปรดทราบว่า "รหัสผ่านจริง" ไม่ได้เก็บไว้ที่ใด สิ่งที่เก็บไว้ในshadow
นั้นคือแฮชแบบทางเดียวของรหัสผ่านจริง แฮชแบบทางเดียวคือผลลัพธ์ของกระบวนการซึ่งมักจะสร้างสิ่งเดียวกัน (อนุญาตให้ยืนยันรหัสผ่านของคุณ) แต่ไม่สามารถย้อนกลับได้ กล่าวอีกนัยหนึ่งถ้ามีใครจับมือshadow
กันไม่มีทางที่จะอนุมานรหัสผ่านจากแฮช อย่างไรก็ตามหากพวกเขาสามารถแก้ไข shadow
ได้แน่นอนพวกเขาสามารถปิดใช้งานหรือเปลี่ยนแปลงสิ่งที่จะทำงานเป็นรหัสผ่าน แต่พวกเขาจะไม่สามารถค้นพบรหัสผ่านของคุณได้ นี่คือสาเหตุที่root
ไม่สามารถทำเช่นนั้นได้ (แม้ว่ารูทสามารถเปลี่ยนเป็นอื่นได้โดยไม่ต้องใช้ต้นฉบับ)
ในกรณีของรูทรายการshadow
เริ่มต้นเช่นนี้เช่นเดียวกับบัญชีระบบอื่น ๆ ส่วนใหญ่:
root:*:
ตัว*
บ่งชี้ขณะนี้ไม่มีรหัสผ่านที่เป็นไปได้ซึ่งสามารถใช้สำหรับบัญชีนี้ได้
ผู้ใช้รูทสามารถเปลี่ยนสิ่งนี้ได้โดยใช้passwd
คำสั่งเพื่อตั้งรหัสผ่านใหม่ซึ่งจะแทนที่*
ด้วยแฮชที่กล่าวถึงก่อนหน้านี้ (สิ่งเหล่านี้เริ่มต้นเสมอ$n$
โดยที่n
ค่าสุ่มบางอย่างที่ใช้เป็น "เกลือ" สำหรับแฮช แต่คุณไม่ต้อง ไม่จำเป็นต้องเข้าใจสิ่งนั้น)
อย่างไรก็ตามเมื่อฉันตั้งค่าการ์ดจากภาพสดสิ่งแรกที่ฉันทำคือเข้าไป/etc/passwd
และลบx
รายการของรูทตอนนี้เริ่ม:
root::0:0
สังเกตว่าตอนนี้ไม่มีฟิลด์ที่สอง วิธีการนี้มีรหัสผ่านไม่และสิ่งที่คุณต้องทำคือการพิมพ์ที่เข้าสู่ระบบที่รวดเร็วและคุณเข้าสู่ระบบในฐานะroot
root
จากนั้นคุณสามารถใช้passwd
เพื่อตั้งค่าหนึ่ง
ดังนั้นคุณมีสองตัวเลือกที่นี่ แต่พวกเขาทั้งคู่ต้องการให้คุณนำการ์ดออกจาก pi และเข้าถึงพาร์ติชั่นที่สองจากระบบอื่น (ที่สามารถอ่าน / เขียนพาร์ติชั่น ext4)
sudoers
ฟื้นฟู หากคุณมีภาพอ้างอิงนี่เป็นเรื่องง่ายคุณสามารถนำมันกลับมาได้เหมือนเดิมโดยแทนที่มัน ไม่อย่างนั้นมันจะเป็นตัวเลือกที่ซับซ้อนกว่าเพราะคุณต้องรู้ว่าคุณกำลังทำอะไร (และประวัติของคุณที่sudoers
ไม่ค่อยดี ... )
แก้ไข/etc/passwd
และลบที่x
อธิบายไว้ข้างต้นใส่การ์ดกลับเข้าสู่ระบบในฐานะroot
สร้างรหัสผ่าน แน่นอนว่าคุณจะต้องแก้ไขsudoers
แต่การทดลองและข้อผิดพลาดจะทำได้ง่ายขึ้นเพราะถ้าคุณเป็นจริงroot
คุณจะสามารถเข้าถึงได้เสมอ
หากคุณไม่มีระบบที่สามารถเข้าถึงระบบไฟล์ ext4 (Debian "live CD" เป็นตัวเลือกที่ดีที่นี่) แสดงว่าคุณติดขัดอยู่ คุณจะต้อง reflash บัตรและเริ่มต้นอีกครั้ง