シェルスクリプト内でパスワードなしでsuを実行したい

シェルスクリプト内でパスワードなしでsuを実行したい

以前、バックアップ用のスクリプトを実行するスクリプトを作成しました。

# cat backup-before-shutdown
#Scritp to take backup before shutdown
#Author Ashish Karpe

echo "Taking backup to s3"
su ubuntu /bin/sh /home/ubuntu/backup.sh
/bin/sh /home/ubuntu/backup-to-s3.sh

通常、ユーザーを から に切り替えると、rootからにubuntu切り替えるときにパスワードは求められませんが、スクリプトの実行中に求められます。スクリプトでパスワードを回避するにはどうすればよいでしょうか?rootubuntu

答え1

スクリプトがルートユーザーとして実行されている場合、このsudoコマンド文字列すべきパスワードを要求せずにコマンドを実行します。

sudo -H -u ubuntu /bin/sh /home/ubuntu/backup.sh

関連情報