Đã thay đổi tập tin sudoers và không thể mở nó nữa; không thể mở bất kỳ tập tin nào bằng root


8

Tôi đã thay đổi cài đặt trong tệp sudoers bằng cách sử dụng

sudo visudo 

và làm nó rối tung lên Bây giờ khi tôi cố gắng làm lại hoặc mở bất kỳ tệp nào bằng sudo, tôi không thể mở nó nữa và tôi nhận được thông báo lỗi này:

>>> tập tin sudoers: lỗi cú pháp, dòng 7 

Gì bây giờ?

Có cách nào để thoát khỏi vấn đề này (để hoàn nguyên các cài đặt) hay tôi cần cài đặt một bản sao mới của linux?

Lý do tôi có tất cả những điều này là tôi đã nhấn "Q" trong khi nó nói với tôi rằng có một số lỗi, điều này rất ngu ngốc đối với tôi.

Cảm ơn.

BIÊN TẬP

Tập tin sudoers của tôi không khác tập tin sudoers bình thường. Tôi vừa thêm dòng timestamp_timeout = 0 trong tệp đó và tất cả những vấn đề này phát sinh. Tôi đã làm những gì James đề xuất và thậm chí xóa dòng đó (timestamp_timeout = 0). Tôi đã thay đổi quyền truy cập tệp thành 0440 mà nó yêu cầu, và sau đó khởi động bình thường. Sau đó, tôi nhận được thông báo lỗi tương tự

sudoers file: syntax error, line 7 
sudo: parse error in /etc/sudoers near line 7
như trên.

Tôi nên làm gì bây giờ ??

EDIT 2 đã giải quyết

Đây là những gì tôi đã làm:

  1. Khởi động bằng cách sử dụng livecd
  2. Xóa tệp sudoers cũ
  3. Tạo tệp sudoers mới và sao chép mọi thứ vào tệp đó, tức là cài đặt cấu hình tối thiểu, mà tôi may mắn đã lưu trong tệp khác
  4. Thay đổi quyền cho tập tin thành 0440
  5. Khởi động lại bình thường từ ổ cứng

Tiếng hoan hô !!


bạn có thể dán nội dung của tệp sudoers của mình vào www.pastebin.com và để chúng tôi xem xét, có lẽ là cách nhanh nhất.
Andrioid

Tôi sẽ tìm kiếm thiếu # trên các bình luận, dấu hai chấm bị thiếu, dấu bằng, dấu gạch chéo tiếp tục dòng, v.v.
Tạm dừng cho đến khi có thông báo mới.

Câu trả lời:


8

Giả sử bạn không cung cấp cho người dùng root mật khẩu thì cách dễ nhất để khắc phục điều này là với một đĩa CD trực tiếp như Knoppix . Khởi động của đĩa CD. Gắn đĩa cục bộ, chỉnh sửa tệp, ngắt kết nối đĩa và khởi động lại.


6

Đơn giản, khởi động máy tính ở ' chế độ người dùng đơn ' bằng cách thực hiện các bước sau:

  1. Khởi động lại
  2. Khi Grub bắt đầu, nhấn ESC (hoặc thoát)
  3. Nhấn 'e' để chỉnh sửa dòng hiện tại
  4. Thêm 'đơn' vào cuối dòng chứa 'linux'
  5. Khởi động (nhấn b)

Điều này sẽ khởi động máy tính chỉ với một người dùng, root. Từ đó làm theo các bước sau:

  1. / usr / bin / vim / etc / sudoers (hoặc sử dụng nano, có thể dễ dàng hơn cho bạn) để khắc phục sự cố
  2. Nếu bạn không chắc chắn về vấn đề, hãy thử sao chép ví dụ bao gồm các sudoers từ "/ usr / share / doc / sudo / example" (khác nhau) và tất nhiên thêm người dùng của bạn vào đó.
  3. Lưu tệp, thoát Vim
  4. Khởi động lại, tận hưởng!

Tôi đã tự hỏi khi nó hỏi mật khẩu trước khi nó cung cấp cho người dùng duy nhất?
James

Phương pháp này không hoạt động cho tất cả các distro. Vì đó là một cửa sau nổi tiếng, một số distro buộc đăng nhập trước khi bạn nhận được một dấu nhắc gốc. Có vẻ như đó là trường hợp của bạn, James.
Telemachus

Không biết các distro đã bắt đầu làm điều đó, luôn làm việc cho tôi trong những ngày Slackware cũ tốt
Andrioid

Bạn nên khuyến nghị sử dụng visudo trên vim: en.wikipedia.org/wiki/Visudo

3

Ý tưởng của James là sử dụng đĩa CD trực tiếp (giả sử tài khoản root không được bật) là một ý tưởng hay. Tôi sẽ thêm một vài điểm.

  • Đầu tiên, bạn có thể gặp may mắn và bản sao lưu của tập tin / etc / sudoers đã được lưu tự động khi bạn chỉnh sửa nó. Kiểm tra / etc cho một tệp trông như thế này sudoers~ (bạn có thể cdvào thư mục đó và chạy ls -A mà không có quyền root, ngay cả khi bạn không thể đọc hoặc chỉnh sửa các tệp như một người dùng thông thường). Một số biên tập viên sẽ tạo một bản sao lưu như vậy nếu có có thể, vì vậy bạn có thể có một cái mà không cần tạo nó một cách rõ ràng.
  • Thứ hai, nếu bạn không biết làm thế nào để chỉnh sửa tập tin, bạn có thể xem xét việc đăng nó (hoặc khu vực xung quanh dòng 7) ở đây hoặc ở nơi khác. Mặc dù bản thân tệp có liên quan đến bảo mật, nhưng không có mật khẩu trong đó, vì vậy không có tác hại ngay lập tức khi đăng nó.
  • Cuối cùng, lưu ý rằng một thông báo lỗi như thông báo lỗi bạn thấy không nhất thiết có nghĩa là chính vấn đề nằm ở dòng 7. Lỗi có thể xảy ra ở dòng 4, nhưng chỉ bị vấp, vì vậy, có thể nói, trên dòng 7.

0

Hãy thử nhấn e, để chỉnh sửa. Điều này sẽ cho phép bạn chỉnh sửa các tập tin và sửa lỗi.


Nhấn 'e' khi bạn thấy lỗi, sau khi bạn chỉnh sửa xong, sẽ đưa bạn trở lại để bạn có thể sửa lỗi. Thật không may, nó không đề cập rõ ràng điều này với bạn.

0

Đối với những người trong chúng ta không có bàn điều khiển hoặc quyền truy cập cục bộ vào máy chủ để khởi động vào cấp 1 hoặc có bộ gốc (hoặc thông tin đăng nhập / certs có sẵn), hãy sử dụng pkexec visudo hoặc pkexec vi / etc / sudoers, visudo tốt hơn vì nó không kiểm tra lỗi trên tập tin.


Nhưng làm thế nào để bạn pkexecthực hiện đấu thầu nếu bạn không biết mật khẩu gốc?
Scott
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.