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

Содержание
Синтаксис
oleg@mobile:~:$ visudo [-chqsV] [[-f] sudoers ]
Параметры
-c, --check
Режим только проверки
-f, --file=sudoers
Указать путь к файлу
sudoers
-h, --help
Показать справку и выйти
-I, --no-includes
Не редактировать включённые файлы
-q, --quiet
Скрыть сообщения о синтаксических ошибках
-s, --strict
Строгая проверка синтаксиса
-V, --version
Показать версию и выйти
Использование visudo в Linux
По умолчанию visudo
открывает vi
(в Ubuntu — nano
), но можно, конечно, использовать и другие редакторы.
Привилегии пользователей
Перед началом использования утилиты необходимо определиться с привилегиями пользователей из файла /etc/sudoers
. Для этого используется команда sudo -l
:
oleg@mobile:~:$ sudo -l
Пользователь oleg может выполнять следующие команды на mobile:
(ALL) ALL
(ALL) NOPASSWD: ALL
oleg@mobile:~:$
Отсюда следует, что я не пользуюсь паролем.
Открываем sudoers для редактирования
Фрагмент моего файла /etc/sudoers
:
sudo visudo
## sudoers file.
##
## This file MUST be edited with the 'visudo' command as root.
## Failure to use 'visudo' may result in syntax or file permission errors
## that prevent sudo from running.
##
## See the sudoers man page for the details on how to write a sudoers file.
##
...
##
## Runas alias specification
##
##
## User privilege specification
##
root ALL=(ALL) ALL
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
## Uncomment to allow members of group sudo to execute any command
# %sudo ALL=(ALL) ALL
## Uncomment to allow any user to run sudo if they know the password
## of the user they are running the command as (root by default).
# Defaults targetpw # Ask for the password of the target user
# ALL ALL=(ALL) ALL # WARNING: only use this together with 'Defaults targetpw'
## Read drop-in files from /etc/sudoers.d
@includedir /etc/sudoers.d
:q
oleg@mobile:~:$
Выход
Для выхода из visudo
следует нажать клавишу Esc, чтобы вернуться в командный режим. После этого нажимается :wq
для сохранения изменений и выхода.
Для выхода без сохранения изменений следует нажать :q!
.
Заключение
В Linux утилита visudo
является очень важной, так как позволяет совершенно безопасно редактировать файл sudoers
, проверяя синтаксис при редактировании.