Почему мы должны использовать visudo вместо того, чтобы непосредственно изменить sudoers файл?

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

Так как Windows исходно не поддерживает EXT4, и нет никакого стороннего продукта, чтобы позволить Windows писать в EXT4, я использовал бы NTFS или FAT32, если Windows является одной из операционных систем, необходимо совместно использовать доступ к тем данным.

87
27.08.2014, 20:57
2 ответа

visudo проверяет синтаксис файла перед фактической перезаписью sudoers файл.

Если Вы используете простого редактора, портите синтаксис и сохраняете... sudo (вероятно), прекратит работать, и, с тех пор /etc/sudoers является только модифицируемым root, Вы застреваете (если у Вас нет другого способа получить корень).

Дополнительно это гарантирует, что редактирования будут одной атомарной операцией. Эта блокировка важна, если необходимо удостовериться, что никто больше не может испортить тщательно продуманные изменения конфигурации. Для редактирования других файлов как корень, кроме того, /etc/sudoers существует sudoedit команда, которые также принимают меры против таких конфликтов редактирования.

107
27.01.2020, 19:30
  • 1
    Ничего себе, никогда не знал о sudoedit. Это не работает над OS X, таким образом, я предполагаю, что это - инструмент GNU? Так или иначе охладите информацию здесь. Я всегда редактировал вручную и никогда не имел проблему - я понимаю теперь, когда это была просто удача, и инструмент может помочь предотвратить катастрофу.Спасибо! –  Harv 26.12.2011, 22:01
  • 2
    @Harv. Нет никакого GNU sudo и OS X действительно имеет инструменты GNU. Поскольку sudo был сначала создан как приложение с открытым исходным кодом, нет, вероятно, никакой причины того, что они были многими реализациями. sudo и sudoedit та же команда, sudo ведет себя как sudo -e при вызове как sudoedit. Я полагаю, что это просто, который OS X забыл добавлять sudoedit -> sudo ссылка, но необходимо все еще смочь использовать sudo -e или звоните sudo с argv [0] набор к sudoedit получить то же поведение. –  Stéphane Chazelas 24.01.2013, 00:41
  • 3
    Интересно, visudo нано использования по умолчанию. –  Tim 27.08.2014, 20:52
  • 4
    @Tim: "реальное" значение по умолчанию является vi, но это может быть настроено для использования чего-то еще. Таким образом нано мог действительно быть значением по умолчанию на Вашем дистрибутиве/установке. См. страницу справочника. –  Mat 28.08.2014, 10:42
  • 5
    @AngularInDepth.com, последствия довольно очевидны. Если Вы сохраните недопустимый sudoers файл, то система не сможет проанализировать его. Таким образом, если я делаю a sudo vim /etc/sudoers и испортите синтаксис, затем я не смогу sudo vim /etc/sudoers снова зафиксировать его. Эффективно, вся способность поднять полномочия через sudo будет потеряна, так как система не сможет проанализировать файл. –  Spencer D 10.02.2018, 16:43

Из visudo страницы справочника:

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

Также проверьте этот ответ от serverfault.

23
27.01.2020, 19:30

Теги

Похожие вопросы