Quyền sở hữu của ít nhất một trong các tệp hệ thống quan trọng của bạn là sai. Đó là một điều xấu; nếu điều này đã xảy ra với nhiều tệp hệ thống (có lẽ bạn đã chạy một sudo chown
lệnh lớn với -R
cờ tại một số điểm?), nó có thể gây ra một số lỗi hệ thống và sự không ổn định khác. Vì vậy, nếu gần đây bạn đã cài đặt Ubuntu , bạn có thể muốn cài đặt lại như Adam Heathcote gợi ý .
Nhưng bạn không phải cài đặt lại để khắc phục vấn đề này . Thay vào đó, chỉ cần sửa quyền sở hữu trên tập tin đó. Nếu sau đó bạn gặp lỗi về các tệp khác, bạn cũng có thể sửa chúng (mặc dù bạn có thể phải cho chúng tôi biết thông báo lỗi là gì, vì vậy chúng tôi có thể cho bạn biết cách khắc phục chúng).
sudo
không hoạt động, nhưng sử dụngsudo
là một trong hai cách để quản trị viên thực hiện các hành động với quyền root trên Ubuntu. Cái còn lại là Polkit (trước đây gọi là PolicyKit).
Chạy lệnh này, sử dụng Polkit (thông qua pkexec
) để thay đổi quyền sở hữu /usr/lib/sudo/sudoers.so
trở lại root
(tức là uid 0):
pkexec chown root /usr/lib/sudo/sudoers.so
Sau đó thử sử dụng sudo
lại. Bạn có thể chạy một cái gì đó tầm thường như , và xem nếu bạn nhận được một thông báo lỗi.sudo ls
Cuối cùng, tôi khuyên bạn nên chạy history
để tiết lộ tất cả các lệnh bạn đã chạy. Hy vọng rằng sẽ liệt kê tất cả các lệnh bạn đã chạy đã thay đổi quyền. Giả sử sudo
bây giờ hoạt động, tôi khuyên bạn nên đăng một câu hỏi mới bao gồm đầu ra của history
, để nhận trợ giúp hoàn tác tất cả quyền sở hữu tệp và các thay đổi quyền mà bạn đã thực hiện.
Nếu pkexec
không hoạt động thì ...
Bạn đã thử pkexec
và nó không hoạt động. Vì cả sudo
Polkit đều không hoạt động để cho phép bạn thực hiện các hành động với quyền root, bạn sẽ phải khởi động vào chế độ khôi phục và lấy shell gốc. Để thực hiện việc này, nhấn và giữ Shifttrong khi khởi động máy tính của bạn, để đảm bảo bạn có được menu khởi động GRUB hiển thị. Chọn một mục có chứa chế độ khôi phục từ (nói chung, bạn nên chọn mục gần nhất với đầu có các từ đó). Sau đó, bạn sẽ nhận được một menu nơi bạn có một số tùy chọn - chọn tùy chọn để thả vào vỏ gốc.
Hướng dẫn chi tiết về cách truy cập shell root trong chế độ recovery tại đây:
Khi bạn có một vỏ gốc, hãy chạy:
chown root /usr/lib/sudo/sudoers.so
Nếu bạn gặp lỗi về tệp hoặc hệ thống tệp không thể sửa đổi, thì hãy ghi lại nó đọc:
mount -rw -o remount /
(Nguồn cho ý tưởng về việc kể lại và cách thực hiện: câu trả lời chủ yếu không liên quan này .)
Sau đó, sau khi chạy mount
lệnh đó , chạy chown
lại lệnh trên và xem nó có hoạt động không.
Khi bạn đã hoàn tất chế độ khôi phục, bạn có thể khởi động lại bằng cách chạy:
reboot
sudo
sau đó nên làm việc, hoặc ít nhất là đưa ra một số lỗi khác .
Cuối cùng, xin lưu ý rằng với các lỗi bạn đã hiển thị, có thể nhiều tệp hiện có quyền sở hữu hoặc quyền sai. Sẽ thật lý tưởng nếu bạn có thể tìm ra những tập tin bạn đã sửa đổi theo cách này. Ví dụ: nếu bạn có thể nhận ra rằng đó là tất cả các tệp trong một vài thư mục cụ thể, thì có thể sửa được mức độ hoàn chỉnh của các sự cố gần đây bạn gặp phải.
Cài đặt lại chắc chắn là một tùy chọn, nhưng đặc biệt nếu tất cả những gì bạn thay đổi là quyền sở hữu (và không phải là quyền, điều này hơi khó để xây dựng lại khi chúng thay đổi nhiều hơn), có thể chỉ cần đặt lại quyền truy cập đệ quy cho chủ sở hữu ban đầu của chúng (có thể thường là root ) và đảo ngược hoàn toàn thiệt hại.
Làm sudo
việc lại là một bước đầu tiên. Hy vọng kỹ thuật trên sẽ cho phép bạn làm điều đó.
pkexec
lệnh?