以非 root 用户身份运行脚本

以非 root 用户身份运行脚本

我想以非 root 用户身份运行一个脚本some_script.sh(需要 root 权限,包含一些sudo do somethingfor 循环)。我有一个如下所示的脚本。我想以 root 身份运行此脚本,并使用此脚本运行另一个脚本some_script.sh

#!/bin/bash
while true
do
    if [ some conditioon ] 
    then
        sudo some_script.sh &
        sleep 30
    else
        exit 0
    fi
done

笔记

  • some_script.sh在 PATH 中,我希望每 30 秒检查一次
  • some_script.sh如果我从终端运行,它会顺利执行sudo some_script.sh,当我使用上述脚本运行它时,它正在部分地完成它的工作。

可以这样做吗?如果可以,那么上述问题是什么?有没有更好的方法?

编辑

请看一下。请some_script.shmsgpass.sh该答案开始阅读。

答案1

如果您只是希望脚本每 30 分钟以 root 身份运行一次,请使用 cron。

编辑文件 /etc/crontab 以包含以下内容:

#minute hour    mday    month   wday    user    command
*/30    *       *       *       *       root    some_script.sh

相关内容