2014-06-26 89 views
0

我有一个bash脚本,必须由root用户运行,但是,我希望该脚本强制用户自动退出root。我知道你通过在命令行键入'exit'退出root,但是将它放入bash脚本将会退出脚本。帮助表示赞赏!以root用户身份运行bash脚本后,如何让脚本自动强制用户退出root?

+0

这个问题非常适合超级用户。 – keyser

+1

您可以使用'.'而不是'sh script.sh'来运行脚本,以便将行粘贴到当前终端中,而不是使其在单独的子shell中运行。更好的是,使用'sudo' ... –

+0

我喜欢使用:'source' – Fallenreaper

回答

0

你可以尝试使用由威廉

$sudo ./your.sh 
0

给出的建议,您也可以使用sudo -v在脚本的开始索要输入sudo密码。 和sudo -k结束清除缓存。

0

只要坚持这样的事情你的脚本的开头:

if [ "$(whoami)" == root ]; then 
    echo "ERROR: root cannot run this script" 
    exit 1 
fi 

这将强制执行,你只能作为一个普通用户和脚本退出时,您将再次成为普通用户运行该脚本。然后在脚本中需要root权限的每个命令前加一个sudo。通过缓存sudo凭证,脚本的用户只需输入一次他/她的密码。

相关问题