Trên hệ thống Ubuntu hiện đại (và nhiều bản phân phối GNU / Linux khác), việc sửa sudoers
tệp bị hỏng thực sự khá dễ dàng và không yêu cầu khởi động lại, sử dụng đĩa CD trực tiếp hoặc truy cập vật lý vào máy.
Để thực hiện việc này thông qua SSH, hãy đăng nhập vào máy và chạy lệnh pkexec visudo
. Nếu bạn có quyền truy cập vật lý vào máy, SSH là không cần thiết; chỉ cần mở một cửa sổ Terminal và chạy pkexec
lệnh đó .
Giả sử bạn (hoặc một số người dùng khác) được ủy quyền để chạy các chương trình như root
với PolicyKit, bạn có thể nhập mật khẩu của mình và sau đó nó sẽ chạy visudo
như root
và bạn có thể sửa lỗi của mình /etc/sudoers
.
Nếu bạn cần chỉnh sửa một trong các tệp cấu hình trong /etc/sudoers.d
(không phổ biến trong tình huống này, nhưng có thể), hãy sử dụng .pkexec visudo -f /etc/sudoers.d/filename
Nếu bạn có một tình huống liên quan trong đó bạn phải thực hiện các lệnh quản trị hệ thống bổ sung dưới dạng root để khắc phục sự cố (cũng không phổ biến trong trường hợp này, nhưng phổ biến ở những người khác), bạn có thể bắt đầu một trình bao gốc tương tác với pkexec bash
. Nói chung, bất kỳ lệnh phi đồ họa nào bạn chạy cùng sudo
có thể được chạy bằng pkexec
thay thế.
(Nếu có nhiều tài khoản người dùng trên hệ thống được ủy quyền để chạy các chương trình như root
với PolicyKit, thì đối với bất kỳ hành động nào, bạn sẽ được yêu cầu chọn tài khoản nào bạn muốn sử dụng, trước khi được hỏi mật khẩu.)
Nếu điều đó không hoạt động - ví dụ: nếu không có người dùng nào được phép chạy chương trình với quyền root thông qua PolicyKit - thì hãy khởi động từ đĩa CD trực tiếp Ubuntu (như CD mà bạn có thể đã sử dụng để cài đặt Ubuntu) và gắn hệ thống tệp cho lắp đặt hệ thống. Bạn có thể làm điều này bằng cách chạy
sudo parted -l
để xem các phân vùng của mình - có thể chỉ có một phân vùng ext4 và đó là hệ thống tập tin gốc.
Giả sử hệ thống tập tin gốc của hệ thống Ubuntu đã cài đặt là trên / dev / sda1. Sau đó, bạn có thể gắn kết với nó sudo mount /dev/sda1 /mnt
. Sau đó, bạn có thể chỉnh sửa tệp sudoers của hệ thống đã cài đặt với sudo nano -w /mnt/etc/sudoers
. Hoặc, thậm chí tốt hơn, bạn có thể chỉnh sửa nó với
sudo visudo -f /mnt/etc/sudoers
(sẽ ngăn bạn lưu tệp sudoers với cú pháp không chính xác).