Переменные окружения SUDO в Linux!

Чтобы посмотреть передаются ли какие-то переменные окружения с использованием sudo, поможет следюущая команда:

$ sudo -l

[sudo] password for username:

Matching Defaults entries for username on ubuntu:

    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin


User username may run the following commands on ubuntu:

    (ALL : ALL) ALL


Важно! Стоит понимать, если допустить ошибку в синтаксисе и сохранить некоректный файл конфига /etc/sudoers или любой другой конфиг с ошибкой в директории /etc/sudoers.d/, то система будет поломана. Рекомендуется редактировать или создавать файл используя только visudo, если мы допустим ошибку в синтаксисе, то visudo предупредит нас и не даст сразу же сохранить файл, а предоставит опции выбора, например, вернутся к редактированию файла, чтобы исправить неверный синтаксис или сохранить файл без изменений, поэтому необходимо очень внимательно читать вывод в терминале!


Для передачи переменной окружения с пользованием sudo можно создать файл:

$ sudo visudo /etc/sudoers.d/some-file-name

$ sudo cat /etc/sudoers.d/some-file-name

Defaults env_keep += "EDITOR"

Зададим переменную окружения (таким способом переменная окружения задается на текущую сессию)

$ export EDITOR="vim"

$ sudo -l

Matching Defaults entries for username on ubuntu:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, env_keep+=EDITOR

User username may run the following commands on ubuntu:
    (ALL : ALL) ALL

Комментарии