SUDO. Запуск скрипта с правами root без ввода пароля


Запускаем скрипт с правами root без ввода пароля (полезно, когда нужно что-то сделать на удаленной системе в автоматическом режиме, но полный root давать нельзя):


1. Помещаем наш скрипт в одну из директорий опции secure_path (например /usr/sbin)

2. Редактируем /etc/sudoers, комментируем строчку:

# Defaults    requiretty

для использования sudo без полноценного входа в систему.

3. Прописываем разрешения для пользователя user запускать скрипт без ввода своего пароля:

user   ALL= NOPASSWD: /usr/sbin/test.sh

4. Устанавливаем права на скрипт:

# chown root:root /usr/sbin/test.sh
# chmod 755 /usr/sbin/test.sh

Теперь мы можем запускать команду с удаленного хоста в автоматическом режиме без ввода пароля (при условии предварительной настройки авторизации по ключу для ssh)

Например:

# ssh -o "BatchMode yes"  user@[targethost] "sudo /usr/sbin/test.sh"

 

man sudoers

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *