Вопрос: Почему мне нужно редактировать / etc / sudoers с visudo?


Я заметил, что файлы файлов sudoers и cron настраиваются особым образом по сравнению с другими файлами конфигурации в Linux. Их нужно редактировать со специальной оболочкой, а не с любым текстовым редактором. Почему это?


48
2018-06-16 01:50


Источник


Межсайтовый дубликат - MD XF


Ответы:


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

Страница руководства описывает это,

visudo редактирует файл sudoers в   безопасный способ, аналогичный vipw (8).   visudo блокирует файл sudoers против   несколько одновременных изменений, обеспечивает   основные проверки здравомыслия и проверки   проанализировать ошибки. Если файл sudoers   в настоящее время редактируется   получите сообщение, чтобы повторить попытку позже.


67
2018-06-16 01:57



Интересно! +1, для иллюстрации простого объяснения того, что я должен был знать давно :) - Greg Meehan
Поведение visudo доступно в общем виде как команда sudoedit. Это делает тот же цикл блокировки / копирования / редактирования / копирования / разблокировки (хотя, очевидно, не с шагом анализа). Одно из преимуществ этого заключается в том, что он позволяет вам предоставлять пользователям доступ к файлам root root без права доступа к корневому файлу без запуска редактора, что может позволить им запускать оболочку из редактора. Если я выхожу из моего редактора во время работы sudoedit, мой euid по-прежнему остается моим собственным. - James F


Ответ Zoredache является идеальным.

Еще одна вещь, о которой стоит упомянуть. Вы можете использовать любимый редактор, установив EDITOR или VISUAL:

export EDITOR=whatevertexteditoryouwant
export VISUAL=whatevertexteditoryouwant

Или:

EDITOR=whatevertexteditoryouwant visudo

17
2018-06-16 07:19



Если вы это сделаете, он все равно выполнит шаг проверки синтаксиса или будет эквивалентен вызову sudoedit, например @James F? - o0'.
Да, это ответ на ваш вопрос. Вы можете использовать почти любой редактор, который вы можете вызвать из cli. - cstamas
Это не было да или нет: V - o0'.
Это будет делать проверка синтаксиса. - cstamas