sudo – это программа, созданная для предоставления системному администратру возможности делегировать пользователям системы те или иные ресурсы с ведением лога доступа пользователей к этим ресурсам. Основная ее задача – предоставить пользователям как можно меньше прав, но наряду с этим именно столько, сколько им потребуется для решения возникшей проблемы.
Для редактирования файла /etc/sudoers желательно воспользоваться программой visudo, которая проверяет синтаксис, используемый в правилах, и тем самым помогает избежать написания правил с ошибками.
Правильная настройка sudo в большинстве случаев позволяет избавиться от необходимости выпонлнения разного рода задач в режиме суперпользователя (su).
Итак, опишем синтаксис файла /etc/sudoers на примере пользователя user:
user localhost = /bin/sh, /usr/bin/perl
В этом случае пользователю user позволяется выполнять программы sh и perl с правами суперпользователя на хосте localhost (sudo sh, sudo perl).
Перечисление разрешенных программ производится через запятую.
Если мы хотим позволить пользователю выполнять все программы с правами суперпользователя на любом хосте, то можно добавить в /etc/sudoers следующую строку:
user ALL = (ALL) ALL
Заметка: На запрос пароля от sudo следует вводить не пароль root'а, а пароль текущего пользователя. После его ввода можно пользоваться функционалом sudo без ввода пароля в течение 5 минут.
С точки зрения защиты компьютера от вирусов использование sudo повышает риск захвата злоумышленником root-прав, поэтому желательно купить антивирус для повышения защищенности вашего Linux.