想要在 shell 脚本中无密码地 su

想要在 shell 脚本中无密码地 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

如果脚本以 root 用户身份运行,则此sudo命令字符串应该无需密码即可执行命令。

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

相关内容