รหัสผ่านเริ่มต้นของ Raspbian root


16

ฉันพยายามแก้ไขไฟล์ sudoers ใน Raspbian /etc/sudoersและดูเหมือนว่าฉันทำผิดเพราะฉันไม่สามารถแก้ไขได้อีก ฉันไม่สามารถเรียกคำสั่งใด ๆ ที่ต้องการการsudoอนุญาตได้ ดังนั้นผมจึงได้ทำวิจัยบางอย่างและฉันพบวิธีแก้ปัญหาที่นี่

การแก้ปัญหาการใช้คำสั่งแต่เมื่อฉันพยายามที่จะให้ฉันข้อความข้อผิดพลาด:*pkexec visudo* Authentication is needed to run '/usr/sbin/visudo' as the super userนอกจากนี้ยังมีรายการแบบหล่นลงมันมีเพียงคำว่า 'รูท' (และไม่สามารถเปลี่ยนแปลงได้) เช่นเดียวกับชื่อผู้ใช้อีเมลและกล่องข้อความเปล่าชื่อรหัสผ่าน

ดังนั้นคำถามคือฉันจะรู้รหัสผ่านรูทได้อย่างไร ฉันลอง 'รูท', 'ราสเบอร์รี่', 'ผู้ดูแลระบบ' ฯลฯ แต่ไม่มีอะไรทำงาน

ตามคำตอบดูเหมือนว่าเป็นไปไม่ได้ที่จะเข้าสู่ระบบโดยใช้ root จากนั้นการใช้ pkexec visudo จะไม่แก้ปัญหาของฉัน! และตามคำตอบวิธีเดียวของฉันคือใช้ linux pc เพื่อดูเนื้อหา sd ของฉันและแก้ไขไฟล์ sudoers ฉันได้ติดตั้ง Debian บนเครื่องเสมือนจริงแล้วและในที่สุดฉันก็สามารถเข้าถึงไฟล์ sudoers ได้ แต่ฉันไม่ได้รับอนุญาตให้เข้าถึง! มันบอกว่าฉันไม่ใช่เจ้าของไฟล์! ฉันเข้าใจปัญหาด้านความปลอดภัยนี้ แต่เนื่องจากมีคนจำนวนมากในระหว่างการค้นหาออนไลน์ของฉันแนะนำให้ใช้ linux pc เพื่อแก้ไขไฟล์ sudoers ดังนั้นควรมีวิธีเข้าถึงไฟล์ดังกล่าว มีใครรู้บ้างไหมทางนี้

คำตอบ:


15

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)

  1. sudoersฟื้นฟู หากคุณมีภาพอ้างอิงนี่เป็นเรื่องง่ายคุณสามารถนำมันกลับมาได้เหมือนเดิมโดยแทนที่มัน ไม่อย่างนั้นมันจะเป็นตัวเลือกที่ซับซ้อนกว่าเพราะคุณต้องรู้ว่าคุณกำลังทำอะไร (และประวัติของคุณที่sudoersไม่ค่อยดี ... )

  2. แก้ไข/etc/passwdและลบที่xอธิบายไว้ข้างต้นใส่การ์ดกลับเข้าสู่ระบบในฐานะrootสร้างรหัสผ่าน แน่นอนว่าคุณจะต้องแก้ไขsudoersแต่การทดลองและข้อผิดพลาดจะทำได้ง่ายขึ้นเพราะถ้าคุณเป็นจริงrootคุณจะสามารถเข้าถึงได้เสมอ

หากคุณไม่มีระบบที่สามารถเข้าถึงระบบไฟล์ ext4 (Debian "live CD" เป็นตัวเลือกที่ดีที่นี่) แสดงว่าคุณติดขัดอยู่ คุณจะต้อง reflash บัตรและเริ่มต้นอีกครั้ง


ฉันติดตั้งเดเบียนใน VM Ware แล้วและฉันใส่การ์ดของฉัน แต่จะดูเฉพาะไฟล์ที่แสดงราวกับว่าฉันใช้ระบบ windows ฉันหมายถึงฉันไม่สามารถดู / แก้ไขไฟล์ sudoers ฉันควรใช้คำสั่งบางอย่างเพื่อดูในเดเบียนหรือไม่
Dani

ฉันไม่ใช่ผู้ใช้ VM ware ดังนั้นฉันไม่สามารถช่วยเฉพาะเจาะจงได้ แต่สมมุติว่าคุณมีการเข้าถึงรูทใน VM ใช่ไหม ถ้าเป็นเช่นนั้นและคุณสามารถเข้าถึงการ์ด SD จาก VM, /etcคุณควรจะสามารถที่จะติดพาร์ทิชันที่สองและมองใน หากsudoersไม่มีคุณอาจลบมันโดยไม่ตั้งใจซึ่งในกรณีนี้คุณจะต้องเปลี่ยนจากภาพเดเบียนใหม่ (คุณไม่จำเป็นต้องสร้างการ์ดใหม่คุณเพียงแค่ต้องใช้ไฟล์ภาพดูที่นี่ ) .. .
goldilocks

... คุณควรจะสามารถเข้าถึงetc/passwdการ์ดและเปลี่ยนผ่านบัญชีรูท Debian VM
goldilocks

(คุณควรจะติดตั้งพาร์ติชั่นที่สองและดูใน / etc) ฉันควรใช้คำสั่งใดในการติดตั้งพาร์ติชั่นที่สอง?
Dani

จาก VMware VM หรือไม่ ฉันไม่รู้ ฉันใช้ virtualbox แต่ฉันไม่เคยต้องตั้งค่าการเข้าถึงฮาร์ดแวร์หรือการติดตั้งบนระบบโฮสต์นอกเหนือจากระบบเครือข่าย (ถ้าฉันต้องถ่ายโอนข้อมูลฉันต้องทำผ่านเครือข่าย) ฉันคิดว่ามันเป็นไปได้และเรียบง่าย แต่ระบบโฮสต์ของฉันยังเป็นลินุกซ์ ฉันยังคิดว่ามีวิธีใช้ VMware กับ Windows / Mac / อะไรก็ตามที่โฮสต์เพื่อให้ VM เข้าถึงอุปกรณ์ SD ที่เชื่อมต่อกับฮาร์ดแวร์โฮสต์ ... แม้ว่าโฮสต์เองจะไม่สามารถอ่านพาร์ติชันได้ เข้าถึงการ์ดจริงดังนั้น VM ควรจะสามารถทำได้เช่นกัน (จากนั้นระบบปฏิบัติการของ VM สามารถอ่านได้)
goldilocks

4

Raspbian ไม่มีrootรหัสผ่าน มันแตกต่างจาก Ubuntu ในแง่นั้น คุณสามารถสร้างrootรหัสผ่าน แต่ AFAIK sudoที่ต้องใช้

ทางออกที่ดีที่สุดคือแก้ไขไฟล์โดยติดตั้งการ์ด SD บนเครื่อง Linux

สิ่งนี้สามารถทำได้บน Pi ถ้า 1. คุณมีเครื่องอ่านการ์ด SD 2. คุณใช้ระบบปฏิบัติการที่ดีใน SD อื่นเพื่อบู๊ต Pi


แต่ทำไม raspbian ถามรหัสผ่าน? และทำไมมันไม่ยอมรับรหัสผ่านที่ว่างเปล่า
Dani

บัญชีรูทอาจมีรหัสผ่าน "ไม่ถูกต้อง" หรือ "เป็นไปไม่ได้" ซึ่งเป็นกลอุบายทั่วไปในการล็อคบัญชีรูทด้วยวิธีนี้
flakeshake

4

ในการตั้งรหัสผ่านรูท:

  • บูตเครื่องและเข้าสู่ระบบตามปกติ
  • วิ่ง:sudo passwd root
  • พิมพ์รหัสผ่านใหม่สำหรับรูทเมื่อได้รับแจ้ง

ที่มา: https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=5056&start=25


1
ปัญหาคือฉันไม่สามารถใช้คำสั่ง sudo ได้เพราะฉันทำผิดพลาดระหว่างการแก้ไขไฟล์ sudoers ปัญหาถูกแก้ไขโดยการติดตั้งลินุกซ์เดเบียน OS บนคอมพิวเตอร์ของฉันใส่ SD card และเปลี่ยน sudoers ไฟล์กลับสู่สถานะเดิมของมัน ...
Dani

-1

หากคุณดาวน์โหลด Puppy Linux สำหรับ Raspberry Pi จากhttp://puppylinux.org/main/Download%20Latest%20Release.htm#quirkyและติดตั้งลงใน thumbdrive คุณควรจะสามารถบูตเครื่องคอมพิวเตอร์ของคุณได้และเนื่องจาก Puppy อยู่เสมอ ทำงานเป็นรูทโดยไม่มีรหัสผ่านคุณสามารถเปลี่ยนแปลงอะไรก็ได้ในคอมพิวเตอร์ที่คุณต้องการ ทำการปรับเปลี่ยนของคุณจากนั้นรีคอมพิวเตอร์โดยไม่มีสื่อการบูตของ Puppy ตอนนี้คอมพิวเตอร์จะบู๊ตเข้าสู่ระบบที่มีการเปลี่ยนแปลงของคุณโดยไม่มีลูกสุนัข

ฉันค่อนข้างใหม่สำหรับ Raspberry Pi ดังนั้นฉันจึงไม่รู้วิธีบูตจากอุปกรณ์อื่น (thumbdrive) แต่อาจมีวิธี อาจจะเป็นระบบ Noobs โดยกดปุ่ม Shift ค้างไว้ขณะบู๊ต

ฉันจะเพิ่มทางเลือกง่ายๆในการบูตจากไดรฟ์อื่น: Raspberry Pi สามารถบูตได้จากการติดตั้ง Puppy บนการ์ด SD (หรือการ์ด microSD) แทนและสื่อการติดตั้งดั้งเดิมสามารถอ่านและแก้ไขจากเครื่องอ่านการ์ดที่เสียบเข้ากับ ราสเบอร์รี่ Pi เดียวกัน


2
ฉันพบว่า downvoting น่ารังเกียจดังนั้นฉันจะพยายามกรอกข้อมูลสำหรับ downvoter ไม่ระบุชื่อ คำตอบที่มีคำว่า "ฉันไม่รู้" อาจเหมาะสมกว่าความคิดเห็น น่าเสียดายที่ต้องมีชื่อเสียงถึง 50 โปรดดำเนินการต่อเพื่อให้ความช่วยเหลือ มันคุ้มค่ากับความพยายาม : D
OyaMist
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.