sudo: неможливо стати / etc / sudoers: Немає такого файлу чи каталогу - Файл існує


12

Я один з небагатьох людей, які керують ігровим сервером. На даний момент Сервер працює з Ubuntu 14.04, який був встановлений лише 3 тижні тому.

Все працювало нормально до декількох днів тому, у нас було кілька проблем. Я підозрюю, що хтось зламав наш сервер SSH і встиг серйозно зіпсувати щось.

Коли я намагаюся виконати команду, sudoя отримую таку помилку:

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

Отже, спочатку подумали, що файл видалено і його просто потрібно відтворити, однак ls /etc/показує, що файл sudoers вже існує. Крім того, коли редагується нано (мій кращий редактор), стає очевидним, що файл повністю в такті та правильно відформатований.

ls -lтакож показує, що файл sudoers має дозволи -r--r----для кореневих кореневих користувачів і групових користувачів, що з дослідження повинно бути цілком достатнім для того, щоб sudo міг прочитати файл, щоб переконатися, що я тимчасово дав файл -rwxrwx---для root root (використовували tmux для сеансу контроль, і ми вже провели сеанс як root), все ще не вдалося.

Отже файл існує, вміст всередині нього правильний, він має належні дозволи. Що ще могло бути. Я трохи роздивився людей, які мали подібні проблеми тут на askubuntu.com. Я знайшов одне рішення, яке звучало сподівання, - створити резервну копію файлу sudoers, а потім скористатися: apt-get purge sudo apt-get install sudo

А потім замініть новий файл sudo на старий. На жаль, це не спрацювало. Щоб виключити, що у файлі sudoers не було помилок, я спробував рішення ще раз і спробував виконати саме sudoіз новоствореним файлом sudoers, і отримав ту саму помилку.

-------- РЕДАКТИРУЙТЕ --------

Для всіх, хто цікавиться тим, що містить нібито неіснуючий файл судерів, ось відфільтрована версія (відфільтровані імена користувачів) за запитом: http://paste.ubuntu.com/7781967/


1
Використовуючи paste.ubuntu.com, ви можете опублікувати вміст файлу sudoers (можливо, ви захочете видалити імена користувачів для додаткової безпеки - якщо ваш сервер зламався ЗМІНІТЬ ПАРОЛЬ)
Wilf

Паролі вже змінено. Це не є питанням. Повідомлення оновлено за посиланням paste.ubuntu.com.
D3_JMultiply

1
Відповідно до сторінки man sudoers Знак фунта ('#') використовується для позначення коментаря (якщо він не є частиною директиви #include або якщо вона не зустрічається в контексті імені користувача і супроводжується однією або кількома цифрами, у в якому випадку це трактується як uid). У вашому файлі sudoers відсутня # в директиві, включеній. Спробуйте додати # та подивимось, чи працює команда sudo.
Леті

Ні. Це не вирішило питання. Як я вже говорив в ОП, я перейменував файл sudoers і повторно встановив sudoers, що створило щойно встановлену версію файлу sudoers. І цей файл також не працював. Я знаю, що проблема полягає не в вмісті самого файлу. Все-таки дякую :)
D3_JМіжмно

Відповіді:


9

Гаразд. Я вирішив свою проблему. І як я думав, це не файл.


Рішення

Я був до 10 хвилин тому, лише помітив, що судо не працює. Оскільки більшість моєї роботи відбувається в tmux, я ніколи не помічав свого облікового запису користувача.

Після першого входу я отримав би таку помилку:

-bash: /etc/profile Permission denied

І це встановило б мені: I have no name@<ipaddress>як мій рахунок.

Тому я провів деякі дослідження з цього питання і знайшов більше результатів, ніж інший. У тому числі і один результат, який був ідеальним для моєї ситуації, як ви знайдете тут .

Проблема полягала в тому, що в моїй / etc / папці відсутній дозвіл на виконання групи. Отже, виконайте: chmod g+x /etcвиправлено проблему після виходу та повернення в систему.


Дякую

Дякуємо за допомогу в коментарях, запропоновані вами пропозиції все ще були цінними та допомагали ще більше звузити проблему. Зрештою, це було набагато простіше, ніж здавалося.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.