sudo: /usr/lib/sudo/sudoers.so phải thuộc sở hữu của uid 0


10

Bất cứ khi nào tôi cố gắng làm bất cứ điều gì yêu cầu mật khẩu của mình, nó sẽ trả về điều này:

u7ur7l3@ubuntu:~$ sudo
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
u7ur7l3@ubuntu:~$

Vì vậy, tôi không thể cài đặt bất cứ thứ gì từ Trung tâm phần mềm / trình quản lý gói hoặc chạy bất kỳ lệnh nào trong thiết bị đầu cuối yêu cầu mật khẩu của tôi. Tôi có thể đăng nhập, nhưng đó là khá nhiều.

Tôi đã vô tình thay đổi quyền của một số tệp, sau đó thay đổi một số cố gắng sửa nó: /. Bây giờ tôi hoàn toàn không biết phải làm gì.

Đây là những gì đã xảy ra khi tôi cố gắng để sudo hoạt động trở lại bằng pkexec:

u7ur7l3@ubuntu:~$ pkexec chown root /usr/lib/sudo/sudoers.so
Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program /usr/lib/dbus-1.0/dbus-daemon-launch-helper: Success 

u7ur7l3@ubuntu:~$ sudo ls
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0 sudo: fatal error, unable to load plugins

Và để thay đổi quyền, tôi đã sử dụng Root Action làm dịch vụ / plugin cá heo, vì vậy lịch sử không cho tôi thấy các thay đổi quyền.

Tôi chỉ nhận ra rằng âm thanh không còn hoạt động nữa. Khi tôi đi vào Phonon, các thiết lập và thiết bị phát lại mặc định của tôi thậm chí không có ở đó. Ngoài ra tôi không có tùy chọn tắt máy, tôi chỉ có thể đăng xuất hoặc rời đi.


Là vấn đề âm thanh và tắt máy mới kể từ khi bạn chạy pkexeclệnh?
Eliah Kagan

@Eliah Kagan, không tôi nhận ra vấn đề âm thanh ngay khi tôi đăng nhập vào máy tính của mình và tôi nhận ra vấn đề tắt máy khi tôi tắt máy tính tối qua. Tôi cuối cùng chỉ giữ nút nguồn.
7UR7L3

Tôi đã mở rộng câu trả lời của mình để cung cấp các hướng dẫn sẽ hoạt động ngay cả khi cả Chính sách sudovà Chính sách (thông qua pkexec) đều hoạt động.
Eliah Kagan

2
root root chown -R root: root / usr / lib /

Câu trả lời:


20

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 chownlệnh lớn với -Rcờ 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).

sudokhông hoạt động, nhưng sử dụngsudomộ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.sotrở lại root(tức là uid 0):

pkexec chown root /usr/lib/sudo/sudoers.so

Sau đó thử sử dụng sudolạ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ử sudobâ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 pkexeckhông hoạt động thì ...

Bạn đã thử pkexecvà nó không hoạt động. Vì cả sudoPolkit đề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 mountlệnh đó , chạy chownlạ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

sudosau đó 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 sudoviệ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 đó.


Tôi đã làm theo các hướng dẫn đó nhưng khi tôi khởi động lại vào kubfox thì vấn đề vẫn còn tồn tại. Cùng một lỗi. Tại thời điểm này có lẽ dễ dàng hơn để cài đặt lại. : /
7UR7L3

Ngoài ra, có cách nào để tôi có thể làm một cái gì đó như thế này không: askubfox.com/questions/9135/ để lưu mọi thứ? Tất cả cùng nhau như một kịch bản giả bash sẽ không hoạt động vì sudo có liên quan nên ....
7UR7L3

@ 7UR7L3 Điều đó sẽ sao lưu thông tin về những gói được cài đặt và hầu hết thông tin về cài đặt toàn hệ thống của chương trình của bạn. Kết hợp với một bản sao lưu đầy đủ của thư mục chính của bạn, điều đó sẽ cho phép bạn khôi phục mọi thứ chủ yếu theo cách của chúng, sau khi gỡ bỏ hệ thống hiện có và cài đặt một thư mục mới, vâng. Vui lòng đảm bảo luôn có bản sao lưu tất cả các tệp thực sự quan trọng (như tài liệu của bạn). Nếu bạn thấy bạn cần thêm thông tin về kỹ thuật đó khi áp dụng vào tình huống của mình, tôi khuyên bạn nên đăng một câu hỏi mới (nhưng tôi không phiền nếu bạn hỏi trong các bình luận ở đây).
Eliah Kagan

Có một cách tốt để đi về tất cả điều này? Tôi có ổ đĩa ngoài 1 TB mà tôi có thể sao lưu mọi thứ, nhưng nó sẽ không xuất hiện ở bất cứ đâu khi tôi cắm nó. Đèn bật sáng cho thấy nó hoạt động nhưng không có gì trên màn hình thay đổi và nó không ở bất cứ đâu trên cá heo . Sau đó, khi tôi đã làm việc đó, tôi nên tiết kiệm mọi thứ cho nó. Trong trình quản lý gói, tôi có thể lưu các gói đã cài đặt vào tài liệu văn bản, nhưng đó thực sự là tất cả những gì tôi đã tìm ra để lưu thông tin. Khá nhiều giải pháp khác liên quan đến sudo vẫn không hoạt động.
7UR7L3

@ 7UR7L3 Để sao lưu tập tin? Khởi động từ đĩa CD / DVD trực tiếp hoặc USB trực tiếp. Bạn có thể truy cập các tệp của mình từ đó và sao lưu chúng vào ổ đĩa ngoài của bạn. Nếu ổ đĩa ngoài của bạn không xuất hiện trong hệ thống trực tiếp, thì đó là một vấn đề hoàn toàn riêng biệt mà tôi có thể không thể giúp bạn và gần như chắc chắn không thể trong giới hạn bình luận. Vì vậy, nếu điều đó xảy ra, tôi khuyên bạn nên đăng một câu hỏi mới. Nếu bạn bình luận ở đây với một liên kết đến câu hỏi mới, tôi chắc chắn sẽ xem xét nó và đóng góp nếu tôi có thể.
Eliah Kagan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.