ไฟล์ sudoers ที่แก้ไขด้วย text editor ตอนนี้ไม่สามารถเรียกใช้ sudo


9

ตอนนี้ฉันรู้แล้วว่าฉันไม่ควรพยายามแก้ไขetc/sudoersไฟล์ด้วยโปรแกรมแก้ไขข้อความธรรมดา อย่างไรก็ตามไม่กี่นาทีก่อนที่ฉันจะเรียนรู้สิ่งนี้ฉันได้บันทึกชื่อผู้ใช้ใหม่ในไฟล์ด้วย Sublime Text ตอนนี้เมื่อฉันเรียกใช้sudo cat sudoersตัวอย่างเช่นฉันได้รับข้อผิดพลาดต่อไปนี้:

>>> /etc/sudoers: syntax error near line 1  <<<
sudo: parse error in /etc/sudoers near line 1
sudo: no valid sudoers sources found, quitting

ฉันจะออกไปจากความไม่แน่ใจนี้ได้อย่างไร


สมมุติว่าบัญชีรูทของคุณไม่มีรหัสผ่านที่คุณรู้ suในกรณีที่คุณอาจจะลอง มิฉะนั้นการรีบูตผู้ใช้คนเดียวหรือปิดซีดีสดควรเป็นวิธีที่สองที่ง่ายที่สุดในการแปลงไฟล์ของคุณ ฉันจะปล่อยให้ใครบางคนโพสต์คำตอบที่ถูกต้องหากsuไม่ได้ทำเคล็ดลับ
dhag

ผมใช้และตอนนี้ฉันได้รับsu - root permission deniedฉันพยายามรีบูตด้วยผู้ใช้คนเดียวและแก้ไขไฟล์ แต่ได้รับข้อผิดพลาดที่ฉันอยู่ในระบบไฟล์แบบอ่านอย่างเดียว
เหล็ก

1
หากคุณบูทจากซีดี ฯลฯ รูตนั้นเป็นรูทของซีดีและอ่านได้อย่างเดียว ดูคำแนะนำเกี่ยวกับการติดตั้งเบลล์รูทของคุณ หากคุณบูตในโหมดผู้ใช้คนเดียวโดยใช้ด้วงอาจเป็นรูทที่ถูกต้อง แต่อ่านได้อย่างเดียว ถ้าเป็นเช่นนั้นคุณจำเป็นต้องติดตั้งใหม่rwจากสิ่งที่ฉันจำได้mount -o remount,rw /
ctrl-alt-delor

คำตอบ:


7

ฉันเห็นว่าคุณติดแท็กคำถามของคุณosxดังนั้นหากคุณทำสิ่งนี้บนเครื่อง mac ให้ใช้ประโยชน์จาก GUI

  1. เปิดหน้าต่าง Finder และกด cmd shift G
  2. พิมพ์/etc/sudoersและกดreturnเพื่อไปที่ไฟล์
  3. กดcmd iด้วยไฟล์ที่ไฮไลต์
  4. เลื่อนไปที่ด้านล่างของหน้าต่างข้อมูลนั้นเพื่อ 'การแบ่งปันและการอนุญาต' และคลิกที่ไอคอนล็อคที่ด้านล่างขวา
  5. พิมพ์ชื่อผู้ใช้และรหัสผ่านของผู้ดูแลระบบ
  6. ตอนนี้เพิ่มตัวเองในหน้าต่างนั้นด้วย+ปุ่มและเลือกสิทธิ์ 'อ่านและเขียน'
  7. เปิดไฟล์ในตัวแก้ไขใด ๆ และแก้ไขสิ่งที่คุณเมาในครั้งแรก!

สุกใส และผ่าน GUI! ขอบคุณ.
เหล็ก

การเพิ่มสิทธิ์ในการเขียนไปยัง / etc จำเป็นต้องเปลี่ยนไฟล์ sudoers ด้วย
tsafrir

ฉันมีปัญหาเดียวกันกับ Ubuntu ของฉัน คุณช่วยให้ความคิดที่จะแก้ไขในอูบุนตู?
Shyamkkhadka

0

ฉันไม่สามารถแก้ไขไฟล์ sudoers ได้โดยเพิ่มชื่อผู้ใช้ของฉันใน "การแบ่งปันและการอนุญาต" และเปลี่ยนการอนุญาตเป็น "อ่านและเขียน"

ฉันประสบความสำเร็จในการสร้างไฟล์ใหม่และเปลี่ยนการอนุญาตเป็น root: wheel และ 0440

ในที่สุดฉันก็ต้องไปที่โหมดการกู้คืน (รีสตาร์ท -> cmd + R)

  1. Mount Macintosh HD ผ่านยูทิลิตี้ดิสก์
  2. ไปที่ Terminal ผ่านโปรแกรมอรรถประโยชน์
  3. ไปที่ cd Macintosh HD / private / etc
  4. แก้ไขไฟล์ sudoers เพื่อแก้ไขข้อผิดพลาด
  5. บันทึกและเปลี่ยนการอนุญาตหากจำเป็น ไฟล์ sudoers ต้องการ root: wheel ถ้าไม่ใช่ sudo จะไม่ทำงาน chown root: wheel sudoers
  6. ฉันเปลี่ยนสิทธิ์เป็น 0440 ตั้งแต่แรกฉันลบ sudoers และสร้างสำเนาใหม่เมื่อฉันลงชื่อเข้าใช้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.