sudo: không thể stat / etc / sudoers: Không có tệp hoặc thư mục như vậy - Tệp tồn tại


12

Tôi là một trong số ít người quản lý một máy chủ chơi game. Máy chủ hiện đang chạy Ubuntu 14.04, được cài đặt chỉ 3 tuần trước.

Mọi thứ đã hoạt động tốt cho đến vài ngày trước, chúng tôi đã có một vài vấn đề. Tôi nghi ngờ ai đó đã hack vào máy chủ SSH của chúng tôi và quản lý để làm hỏng một cái gì đó nghiêm trọng.

Khi tôi cố thực hiện lệnh, sudotôi gặp lỗi sau:

sudo: unable to stat /etc/sudoers: No such file or directory

Vì vậy, suy nghĩ đầu tiên là tập tin đã bị xóa và chỉ cần được tạo lại, tuy nhiên ls /etc/cho thấy rằng tập tin sudoers đã tồn tại. Hơn nữa, khi được chỉnh sửa bằng nano (trình chỉnh sửa ưa thích của tôi) Rõ ràng là tệp hoàn toàn trong chiến thuật và được định dạng chính xác.

ls -lcũng cho thấy rằng tệp sudoers có quyền -r--r----cho người dùng root và nhóm gốc, từ nghiên cứu nên hoàn toàn đủ để sudo có thể đọc tệp, để đảm bảo tạm thời tôi đã cung cấp tệp -rwxrwx---cho root root (đang sử dụng tmux cho phiên kiểm soát và chúng tôi đã có một phiên làm root), vẫn thất bại.

Vì vậy, tập tin tồn tại, nội dung bên trong của nó là chính xác, nó có quyền thích hợp. Những gì nó có thể được. Tôi đã xem xét một chút về những người gặp vấn đề tương tự ở đây trên Askubfox.com, một giải pháp mà tôi thấy có vẻ hy vọng, là sao lưu tệp sudoers, sau đó sử dụng: apt-get purge sudo apt-get install sudo

Và sau đó thay thế tệp sudo mới bằng tệp cũ. Điều này đã không làm việc không may. Để loại trừ xa hơn rằng tệp sudoers không có lỗi, tôi đã thử lại giải pháp và thử thực hiện chỉ sudovới tệp sudoers mới tạo và gặp lỗi tương tự.

-------- BIÊN TẬP --------

Đối với bất kỳ ai quan tâm đến tệp sudoers không tồn tại được cho là gì, đây là phiên bản được lọc (tên người dùng được lọc) theo yêu cầu: http : //paste.ub Ubuntu.com/7781967/


1
Sử dụng paste.ubfox.com bạn có thể đăng nội dung của tệp sudoers (bạn có thể muốn xóa tên người dùng để tăng cường bảo mật - nếu máy chủ của bạn bị hack THAY ĐỔI PASSWORDS)
Wilf

Mật khẩu đã được thay đổi. Đó không phải là một phần của câu hỏi. Bài đăng đã được cập nhật với liên kết paste.ubfox.com.
D3_JMultiply

1
Theo trang man sudoers Dấu thăng ('#') được sử dụng để biểu thị một nhận xét (trừ khi đó là một phần của lệnh #incoide hoặc trừ khi nó xuất hiện trong ngữ cảnh của tên người dùng và được theo sau bởi một hoặc nhiều chữ số, trong trường hợp nào nó được coi là một uid). Trong tệp sudoers của bạn có một dấu # bị thiếu trong chỉ thị kèm theo. Hãy thử thêm # và hãy xem nếu lệnh sudo hoạt động.
Lety

Không. Điều đó đã không khắc phục vấn đề. Giống như tôi đã nói trong OP, tôi đã đổi tên tệp sudoers và cài đặt lại sudo, tạo ra một phiên bản mới được cài đặt của tệp sudoers. Và tập tin đó cũng không hoạt động. Tôi biết vấn đề không phải là nội dung của tập tin. Dù sao cũng cảm ơn :)
D3_JMultiply

Câu trả lời:


9

Đồng ý. Tôi đã khắc phục vấn đề của mình. Và như tôi nghĩ, nó không phải là tập tin.


Giải pháp

Tôi đã thức đến 10 phút trước, chỉ nhận thấy rằng sudo không hoạt động. Vì hầu hết công việc của tôi diễn ra trong tmux, tôi không bao giờ nhận thấy tài khoản người dùng của mình.

Khi đăng nhập lần đầu tiên tôi sẽ gặp lỗi sau:

-bash: /etc/profile Permission denied

Và nó sẽ đặt tôi vào: I have no name@<ipaddress>như tài khoản của tôi.

Vì vậy, tôi đã làm một số nghiên cứu về vấn đề này và tìm thấy nhiều kết quả hơn sau đó vấn đề khác. Bao gồm một kết quả là một kết hợp hoàn hảo cho tình huống của tôi, như được tìm thấy ở đây .

Vấn đề là thư mục / etc / của tôi bị thiếu quyền thực thi trong nhóm. Vì vậy, thực thi: đã chmod g+x /etckhắc phục sự cố sau khi đăng xuất và đăng nhập lại.


Cảm ơn

Cảm ơn sự giúp đỡ trong các bình luận, những gợi ý bạn đưa ra vẫn có giá trị và giúp thu hẹp vấn đề nhiều hơn. Cuối cùng thì mọi chuyện đã đơn giản hơn nhiều.

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.