Ubuntu: borked tập tin sudoers của tôi, làm thế nào tôi có thể sửa nó?


11

Tôi đã chỉnh sửa /etc/sudoerstập tin của mình và lưu nó nhưng nó có lỗi cú pháp trong đó. Bây giờ tôi không thể sudo vim /etc/sudoersvì sudo nghĩ rằng tệp sudoers không hợp lệ.

Làm thế nào tôi có thể sửa lỗi này?


Câu trả lời:


6

Khởi động hệ thống vào chế độ đơn và sau đó chỉnh sửa nó.


Cảm ơn, Ubuntu của tôi đang chạy trong Virtualbox. Làm cách nào để khởi động vào chế độ người dùng?
fret basset


Tôi không nhận được các tùy chọn grub khi khởi động, tuy nhiên, nó khởi động thẳng vào Ubuntu ...
basset fred

Hãy thử giữ <Ctrl> hoặc một cái gì đó.
Ignacio Vazquez-Abrams

1
@red basset: Khi vm bắt đầu nhấn Esc vài lần sẽ thả bạn vào grub sau đó chọn tùy chọn chế độ phục hồi.
dùng9517

21

Bạn không bao giờ nên chỉnh sửa tập tin sudoers của bạn trực tiếp. Sử dụng visudo- nó sẽ bảo vệ bạn khỏi những lỗi cú pháp này trong tương lai.

Để phục hồi từ tình huống này, hãy khởi động vào chế độ một người dùng và chỉnh sửa tệp hoặc khởi động từ một livecd và làm tương tự.


Cảm ơn, tôi đã tự hỏi những gì visudo đã làm khác nhau. Bây giờ tôi cần tìm ra cách khởi động vào chế độ người dùng. Ubuntu của tôi đang chạy trong Virtualbox.
fret basset

1
Visudo khiến bạn chỉnh sửa một bản sao của tập tin sudoers. Nó sẽ chỉ thay thế tệp sudoers nếu nó xác nhận khi bạn lưu nó. Nó sẽ sử dụng trình soạn thảo được chỉ định bởi biến EDITOR của bạn, vì vậy bạn có thể sử dụng trình soạn thảo ưa thích của mình. Nó cũng có thể được sử dụng trong chế độ kiểm tra nếu bạn chỉnh sửa tệp và muốn chắc chắn rằng nó vẫn còn hiệu lực.
BillThor

2

Như đã lưu ý trong câu hỏi tương tự này trên Askubfox , điều này có thể hoạt động tốt mà không cần phải khởi động lại vào chế độ một người dùng:

pkexec visudo

Đây là cách dễ nhất để làm điều đó, nếu nó có sẵn.
belacqua

1

Nhân tiện, nếu bạn có mật khẩu root, chỉ cần đăng nhập với nó và đặt lại như cũ.

chmod 0440 / etc / sudoers

Điều này sẽ tránh cho bạn khởi động vào chế độ một người dùng hoặc tệ nhất là khởi động từ một livecd.

Trong trường hợp của tôi, tôi không đủ khả năng để đưa máy chủ xuống.


1

Nếu bạn đã cài đặt Docker và người dùng của bạn là thành viên của dockernhóm, bạn có thể dễ dàng thoát khỏi dưa chua này (và một số người khác) mà không cần khởi động lại hoặc những gì bạn có:

  1. $ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
  2. apt-get update && apt-get install [vim|nano|whatever]
  3. cd ~/host.etc/
  4. Sửa chữa các tập tin vấn đề
  5. exit

Docker? Bạn đã thấy Docker ở bất cứ đâu trong câu hỏi ban đầu?
Thợ săn hươu

2
Vì câu hỏi không chỉ định bất cứ điều gì về môi trường của người hỏi và bây giờ là năm 2015, có nghĩa là khá nhiều người đã cài đặt Docker, tôi không hiểu thái độ của bạn đối với tôi cũng như sự khinh miệt của bạn đối với sự đóng góp của tôi. Không phải ai cũng có thể hiểu được rằng ai đó trong tình huống này sẽ cài đặt phần mềm, tính đến ngày hôm nay, đã bị 23,5 nghìn người trên GitHub đánh dấu sao. Nếu pkexeccũng vì một số lý do không có sẵn thì điều này cung cấp một phương pháp thay thế, mà không cần khởi động lại, điều đó gần như nhanh chóng và đơn giản.
Adrian Günter
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.