รหัสผ่านเริ่มต้นของ 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.