sudo: невозможно указать / etc / sudoers: нет такого файла или каталога - файл существует

12

Я один из немногих, кто управляет игровым сервером. Сервер в настоящее время работает под управлением Ubuntu 14.04, которая была установлена ​​всего 3 недели назад.

Все работало нормально, пока несколько дней назад у нас не было нескольких проблем. Я подозреваю, что кто-то взломал наш SSH-сервер и сумел что-то серьезно испортить.

Когда я пытаюсь выполнить команду, sudoя получаю следующую ошибку:

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

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

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

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

А затем замените новый файл sudo на старый. Это не сработало, к сожалению. Чтобы исключить, что в файле sudoers не было ошибок, я снова попробовал решение, и попытался выполнить только sudoс вновь созданным файлом sudoers, и получил ту же ошибку.

-------- РЕДАКТИРОВАТЬ --------

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

D3_JMultiply
источник
1
Используя paste.ubuntu.com, вы можете опубликовать содержимое файла sudoers (вы можете удалить имена пользователей для дополнительной безопасности - если ваш сервер взломан ИЗМЕНИТЬ ПАРОЛИ)
Уилф
Пароли уже были изменены. Это не часть вопроса. Сообщение обновлено ссылкой на paste.ubuntu.com.
D3_JMultiply
1
Согласно man-странице sudoers Знак фунта ('#') используется для обозначения комментария (если только он не является частью директивы #include или если он не встречается в контексте имени пользователя и сопровождается одной или несколькими цифрами в в каком случае это рассматривается как UID). В вашем файле sudoers отсутствует # в директиве includeir. Попробуйте добавить # и посмотрим, работает ли команда sudo.
Лети
Нет. Это не решило проблему. Как я уже говорил в OP, я переименовал файл sudoers и переустановил sudo, который создал только что установленную версию файла sudoers. И этот файл тоже не работал. Я знаю, что проблема не в содержании самого файла. В любом случае, спасибо :)
D3_JMultiply

Ответы:

9

Ok. Я исправил свою проблему. И, как я и думал, это был не файл.


Решение

Я имел до 10 минут назад, только заметил, что sudo не работает. Поскольку большая часть моей работы выполняется в tmux, я никогда не замечал свою учетную запись.

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

-bash: /etc/profile Permission denied

И это установило бы меня: I have no name@<ipaddress>как мой аккаунт.

Поэтому я провел некоторое исследование по этой проблеме и нашел больше результатов, чем по другой проблеме. Включая один результат, который идеально подходил для моей ситуации, как показано здесь .

Проблема заключалась в том, что в моей папке / etc / не было разрешения на выполнение для группы. Выполнение: chmod g+x /etcисправлена ​​проблема после выхода из системы и повторного входа.


Благодарность

Спасибо за помощь в комментариях, предложения, которые вы дали, были по-прежнему полезны и помогли еще больше сузить проблему. В конце концов, все оказалось гораздо проще, чем казалось.

D3_JMultiply
источник