การเป็นเจ้าของไฟล์ระบบที่สำคัญอย่างน้อยหนึ่งไฟล์นั้นผิด นั่นเป็นสิ่งที่ไม่ดี หากสิ่งนี้เกิดขึ้นกับไฟล์ระบบจำนวนมาก (บางทีคุณอาจรันsudo chownคำสั่งขนาดใหญ่พร้อมกับ-Rแฟล็กในบางจุด) มันอาจทำให้เกิดข้อผิดพลาดและความไม่แน่นอนของระบบอื่น ๆ ดังนั้นถ้าคุณเพิ่งติดตั้ง Ubuntuคุณอาจต้องการที่จะติดตั้งเป็นอดัมเฮลท์โคแสดงให้เห็น
แต่คุณไม่ต้องติดตั้งใหม่เพื่อแก้ไขปัญหานี้ แต่เพียงแก้ไขความเป็นเจ้าของในไฟล์นั้นแทน หากคุณได้รับข้อผิดพลาดเกี่ยวกับไฟล์อื่นหลังจากนั้นคุณสามารถแก้ไขได้เช่นกัน (แม้ว่าคุณอาจต้องบอกเราว่าข้อความข้อผิดพลาดคืออะไรดังนั้นเราจึงสามารถบอกคุณได้ว่าจะแก้ไขอย่างไร)
sudoไม่ทำงาน แต่การใช้sudoเป็นหนึ่งในสองวิธีสำหรับผู้ดูแลระบบในการดำเนินการตามรูทบน Ubuntu อื่น ๆ คือPolkit (ซึ่งเคยเรียกว่า PolicyKit)
เรียกใช้คำสั่งนี้ซึ่งใช้ Polkit (ผ่านpkexec) เพื่อเปลี่ยนความเป็นเจ้าของ/usr/lib/sudo/sudoers.soกลับเป็นroot(เช่น uid 0):
pkexec chown root /usr/lib/sudo/sudoers.so
จากนั้นลองใช้sudoอีกครั้ง คุณสามารถเรียกใช้สิ่งที่เล็กน้อยเช่นและดูว่าคุณได้รับข้อความแสดงข้อผิดพลาดsudo ls
ในที่สุดฉันแนะนำให้เรียกใช้historyเพื่อแสดงคำสั่งทั้งหมดที่คุณเรียกใช้ หวังว่าจะแสดงรายการคำสั่งทั้งหมดที่คุณเรียกใช้ซึ่งมีการเปลี่ยนแปลงการอนุญาต สมมติว่าsudoตอนนี้ทำงานผมขอแนะนำให้โพสต์คำถามใหม่รวมทั้งการส่งออกของhistoryที่จะได้รับความช่วยเหลือในการยกเลิกทั้งหมดเป็นเจ้าของไฟล์และสิทธิ์การเปลี่ยนแปลงที่คุณได้ทำ
หากpkexecไม่ได้ผล ...
คุณลองpkexecแล้วมันใช้งานไม่ได้ เนื่องจากทั้งsudoหรือ Polkit ไม่ทำงานเพื่อให้คุณสามารถดำเนินการในฐานะรูทได้คุณจะต้องบูตเข้าสู่โหมดการกู้คืนและรับรูทเชลล์ เมื่อต้องการทำสิ่งนี้ให้กดค้างไว้Shiftในขณะที่ทำการบูทคอมพิวเตอร์เพื่อให้แน่ใจว่าคุณได้รับเมนูการบูต GRUB เลือกรายการที่มีโหมดการกู้คืนคำ(โดยทั่วไปคุณควรเลือกรายการที่อยู่ใกล้กับด้านบนสุดที่มีคำเหล่านั้น) จากนั้นคุณจะได้รับเมนูที่มีตัวเลือกมากมาย - เลือกตัวเลือกเพื่อเลื่อนไปที่รูทเชลล์
คำแนะนำโดยละเอียดเกี่ยวกับการเข้าถึงรูทเชลล์ในโหมดการกู้คืนอยู่ที่นี่:
เมื่อคุณรูทเชลล์แล้วให้รัน:
chown root /usr/lib/sudo/sudoers.so
หากคุณได้รับข้อผิดพลาดเกี่ยวกับไฟล์หรือระบบไฟล์ที่ไม่สามารถแก้ไขได้ให้ทำการติดตั้งใหม่เขียนใหม่:
mount -rw -o remount /
(แหล่งที่มาสำหรับแนวคิดของการเล่าซ้ำและวิธีการ: คำตอบที่ไม่เกี่ยวข้องส่วนใหญ่ )
จากนั้นหลังจากเรียกใช้mountคำสั่งนั้นให้เรียกใช้chownคำสั่งด้านบนอีกครั้งและดูว่าทำงานได้หรือไม่
เมื่อเสร็จแล้วในโหมดการกู้คืนคุณสามารถรีบูตได้โดยเรียกใช้:
reboot
sudoควรทำงานหรืออย่างน้อยก็ให้ข้อผิดพลาดอื่น ๆ
สุดท้ายโปรดทราบว่าเมื่อได้รับข้อผิดพลาดที่คุณแสดงอาจเป็นไปได้ว่าหลาย ๆ ไฟล์มีความเป็นเจ้าของหรือการอนุญาตที่ไม่ถูกต้อง มันจะเหมาะถ้าคุณสามารถหาไฟล์ที่คุณแก้ไขด้วยวิธีนี้ ตัวอย่างเช่นหากคุณสามารถเข้าใจได้ว่ามันเป็นไฟล์ทั้งหมดในโฟลเดอร์เฉพาะบางโฟลเดอร์อาจเป็นไปได้ที่จะแก้ไขปัญหาล่าสุดที่คุณพบ
การติดตั้งซ้ำเป็นตัวเลือก แต่โดยเฉพาะอย่างยิ่งหากคุณเปลี่ยนเป็นความเป็นเจ้าของ (และไม่ใช่สิทธิ์ซึ่งค่อนข้างยากในการสร้างขึ้นมาใหม่เนื่องจากมีความหลากหลายมากกว่า) คุณควรกำหนดสิทธิ์กลับไปเป็นเจ้าของดั้งเดิมแบบซ้ำ ๆ ) และย้อนกลับความเสียหายทั้งหมด
การsudoทำงานอีกครั้งเป็นขั้นตอนแรก หวังว่าเทคนิคข้างต้นจะช่วยให้คุณทำเช่นนั้นได้
pkexecคำสั่งหรือไม่