На платформах Linux пользователь sudo — это инструмент, который подразумевает «superuser do» для выполнения различных системных команд. Пользователь sudo обычно является пользователем root или любым другим пользователем с некоторыми привилегиями. Чтобы делегировать важные задачи, такие как перезагрузка сервера или перезапуск сервера Apache, или даже для создания резервной копии с помощью команды sudo, вы можете использовать sudo без необходимости вводить пароль снова и снова.
По умолчанию пользователю sudo необходимо предоставить некоторую аутентификацию. Иногда пользователям требуется выполнить команду с этими привилегиями root, но они не хотят вводить пароль несколько раз, особенно во время написания сценариев. Это легко сделать в системах Linux. В этой статье мы проверим метод sudo другого пользователя без ввода его пароля.
Запуск команды sudo без пароля
Чтобы создать резервную копию пользователей sudo, вам необходимо скопировать файл /etc/sudoers из одного места в другое. Для этого используйте следующую команду:
$ sudo cp /etc/sudoers /root/sudoers.bak
Теперь, чтобы отредактировать файл/etc/sudoers, мы будем использовать команду visudo. Это откроет файл sudoers.
$ sudo visudo
Чтобы отредактировать файл /etc/sudoers, пользователям необходимо исправить записи в соответствии с вашими потребностями. Добавление другого пользователя в sudo позволит пользователям выполнять любую команду без пароля. В файле выше добавьте следующую команду.
UserName ALL = NOPASSWD: /bin/systemctl restart httpd.service, /bin/kill
Замените UserName на имя пользователя, которого вы хотите указать в файле.
Затем сохраните и выйдите из файла с помощью сочетания клавиш Ctrl + O.
Выполнять ВСЕ команды sudo без пароля
Чтобы добавить группу в sudo без ввода пароля, используйте символ % перед именем вашей группы. Но сначала откройте редактор visudo, используя команду ниже:
$ sudo visudo
После того, как вы открыли окно редактора, вам нужно добавить следующую строку, чтобы добавить группу и выполнить все команды без пароля.
%group ALL=(ALL) NOPASSWD: ALL
Здесь замените имя группы на группу, для которой вы хотите настроить параметры.
Разрешение пользователю запускать /bin/kill
Чтобы позволить пользователю запускать команду /bin/kill с привилегиями sudo без ввода пароля, добавьте следующую строку в том же окне редактора:
UserName ALL=(ALL) NOPASSWD: /bin/kill
Замените UserName на имя пользователя, для которого вы хотите изменить настройки.
Таким же образом, чтобы члены группы могли запускать команды sudo / bin/kill, /bin/rm без необходимости ввода какого-либо пароля, запустите добавленную команду:
%group ALL=(ALL) NOPASSWD: /bin/kill, /bill/rm
Тестирование изменений
Чтобы проверить изменения, теперь вы можете запустить команду / bin/kill, которая будет использоваться для завершения любого процесса, чей идентификатор указан. На этот раз пароль вам не понадобится:
$ sudo /bin/kill PID
Вывод
В этой статье мы увидели метод запуска любой команды без предоставления пароля при использовании sudo на разных платформах Linux. Хотя это считается рискованным с точки зрения безопасности, операции без пароля опасны и являются дополнительной функцией для безопасных систем.