Запускаем скрипт с правами 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"