我已经编写了一个 bash 脚本用于我的 ubuntu 机器。现在我想阻止在我自己的用户下运行这个脚本,并且只能以 root (sudo) 身份运行它。
是否有可能强制执行此操作。如果我以自己的用户名运行它,我可以以某种方式让我的脚本要求 root 权限吗?
小智 10
我有一个bash用于此目的的标准函数:
# Check if we're root and re-execute if we're not.
rootcheck () {
if [ $(id -u) != "0" ]
then
sudo "$0" "$@" # Modified as suggested below.
exit $?
fi
}
Run Code Online (Sandbox Code Playgroud)
可能有更优雅的方式(我在 AGES 之前写过这个!),但这对我来说很好用。
要在脚本中一致地使用此函数,您应该将脚本最初接收到的参数传递给它。
用法:rootcheck "${@}" (rootcheck本身不会传递任何参数给rootcheck功能)
小智 5
我正在使用这个单行版本,易于复制粘贴到脚本之上
[ `whoami` = root ] || { sudo "$0" "$@"; exit $?; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10900 次 |
| 最近记录: |