ฉันแก้ไข/etc/sudoers
ไฟล์และบันทึกไว้ แต่มีข้อผิดพลาดทางไวยากรณ์อยู่ที่นั่น ตอนนี้ฉันทำไม่ได้sudo vim /etc/sudoers
เพราะ sudo คิดว่าไฟล์ sudoers ไม่ถูกต้อง
ฉันจะแก้ไขสิ่งนี้ได้อย่างไร
ฉันแก้ไข/etc/sudoers
ไฟล์และบันทึกไว้ แต่มีข้อผิดพลาดทางไวยากรณ์อยู่ที่นั่น ตอนนี้ฉันทำไม่ได้sudo vim /etc/sudoers
เพราะ sudo คิดว่าไฟล์ sudoers ไม่ถูกต้อง
ฉันจะแก้ไขสิ่งนี้ได้อย่างไร
คำตอบ:
บู๊ตระบบเข้าสู่โหมดเดียวแล้วแก้ไข
คุณไม่ควรแก้ไขไฟล์ sudoers ของคุณโดยตรง ใช้visudo
- มันจะปกป้องคุณจากข้อผิดพลาดทางไวยากรณ์เหล่านี้ในอนาคต
ในการกู้คืนจากสถานการณ์นี้ให้บูตเข้าสู่โหมดผู้ใช้คนเดียวและแก้ไขไฟล์หรือบูตจาก livecd และทำเช่นเดียวกัน
ตามที่ระบุไว้ในคำถามที่คล้ายกันนี้ใน Askubuntuสิ่งนี้อาจทำงานได้ดีโดยไม่ต้องรีบูตเข้าสู่โหมดผู้ใช้คนเดียว:
pkexec visudo
อย่างไรก็ตามถ้าคุณมีรหัสผ่านรูทเพียงแค่ลงชื่อเข้าใช้และตั้งค่ากลับเป็นแบบเดิม
chmod 0440 / etc / sudoers
วิธีนี้จะหลีกเลี่ยงไม่ให้คุณทำการบูทเข้าสู่โหมดผู้ใช้คนเดียวหรือแย่ที่สุดคือการบูตจาก livecd
ในกรณีของฉันฉันไม่สามารถที่จะนำเซิร์ฟเวอร์ลงมา
หากคุณติดตั้ง Docker ไว้และผู้ใช้ของคุณเป็นสมาชิกของdocker
กลุ่มคุณสามารถหลุดพ้นจากการดอง (และอื่น ๆ ) ได้โดยไม่ต้องรีบูทหรืออะไรก็ตามที่คุณมี:
$ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
apt-get update && apt-get install [vim|nano|whatever]
cd ~/host.etc/
exit
pkexec
ยังมีเหตุผลบางอย่างที่ไม่พร้อมใช้งานนี่เป็นวิธีการสำรองโดยไม่ต้องบูตเครื่องใหม่ซึ่งเกือบจะรวดเร็วและง่ายดาย