Вопрос или проблема
Я совершил ошибку. Список команд, которые я ввел:
sudo usermod -a -G root erp
sudo chmod g+w /etc
setfacl -R -m u:erp:rwx /etc
Затем ssh.service
виртуальной машины перестал работать, и когда я ввожу команды с sudo
в терминале, появляется сообщение:
sudo: /etc/sudo.conf является доступным для записи группой
И после некоторого времени поиска в интернетe, кажется, что то, что я сделал, похоже на chmod -R 777 /
. Я надеюсь, что мне не нужно переустанавливать ОС Ubuntu на этой машине.
То, что я сделал, действительно можно вернуть обратно?
Вы включили рекурсивный ACL для всей директории /etc
. Выполните это, чтобы удалить все ACL рекурсивно:
setfacl -b -R /etc
Если вы все еще получаете ошибку, выложите вывод команды ls -alh /etc/sudo.conf
, если у него есть права на запись для группы, вы, вероятно, сможете удалить их с помощью chmod g-w
.
В будущем не выполняйте команды, которые вы не понимаете. Используйте что-то вроде https://explainshell.com/ или читайте страницы man.
Сбросьте /etc/sudo.conf
к его исходным правам:
sudo chmod 644 /etc/sudo.conf
Ответ или решение
Восстановление прав доступа к файлу sudo.conf в Ubuntu
Проблема, с которой вы столкнулись, заключается в том, что вы изменили права доступа к директории /etc
и её содержимому, что привело к ошибке при выполнении команд с использованием sudo
. Ошибка sudo: /etc/sudo.conf is group writable
указывает на то, что файл имеет права, позволяющие группе записывать в него, что является нарушением политики безопасности для файлов конфигурации sudo
.
Проанализируем ваши шаги
-
Команда
sudo usermod -a -G root erp
: Эта команда добавляет пользователяerp
в группуroot
. Это может быть излишним и потенциально небезопасным, поскольку дает пользователю права, которые не нужны для его работы. -
Команда
sudo chmod g+w /etc
: Вы добавили право записи для группы в директорию/etc
. Это серьезное нарушение, так как многие файлы в этой директории должны быть защищены от записи со стороны неполномочных пользователей и групп. -
Команда
setfacl -R -m u:erp:rwx /etc
: Эта команда рекурсивно предоставила пользователюerp
права на чтение, запись и выполнение для всех файлов в/etc
. Это также является небезопасным, поскольку даёт пользователю доступ к критически важным системным файлам.
Восстановление прав доступа
Чтобы восстановить нормальную работу sudo
, вам нужно устранить некорректные права доступа. Вот пошаговое руководство, как это сделать.
Удаление ACL и восстановление прав
-
Удалите все ACL из директории
/etc
:setfacl -b -R /etc
-
Проверьте права доступа к файлу
/etc/sudo.conf
:ls -alh /etc/sudo.conf
Убедитесь, что вывод показывает, что файл не имеет прав на запись для группы. Правильные права должны быть
-rw-r--r--
. -
Если файл по-прежнему имеет права записи для группы, измените их:
sudo chmod g-w /etc/sudo.conf
-
Установите права файла
/etc/sudo.conf
на значение по умолчанию (если это не сделано):sudo chmod 644 /etc/sudo.conf
Заключение
Следуя указанным шагам, вы должны восстановить нормальный доступ к sudo
и устранить ошибку о том, что файл sudo.conf
доступен для записи группы. В будущем рекомендуется внимательно ознакомиться с командами, которые вы собираетесь выполнять, и избегать использования команд, которые могут повредить критически важные системные файлы и их права доступа.
Для лучшего понимания опций и параметров команд вы можете использовать Explainshell или читать документацию через man <команда>
.
Если после всех этих действий проблема не решится, возможно, потребуется пересмотреть текущие настройки и права на другие критические файлы в системе, а также рассмотреть возможность восстановления из резервной копии.