我有一个需要 root 权限的脚本。我必须通过 sudo 或从 uid 为 0 的帐户(例如 root)执行它。
如果脚本没有以足够的权限执行,那么我希望该脚本回显“以 Root 身份运行”并退出 1。
我怎样才能实现这个目标?
答案1
/usr/bin/env bash 如果 [[ $EUID -ne 0 ]]; 那么 echo“此脚本必须以root身份运行” 出口 1 菲 // 其余脚本在此处
来源。
EUID 是脚本运行时的有效 UID。
[[ ne ]] 是对不相等的测试。
0
是 root 的 uid(或者更确切地说,是您想要的 uid。root 是最常见的名称,但可以更改,并且可以有多个 uid 为 0 的帐户
答案2
您还可以使该脚本仅由 root 执行。
chmod 700 script
(只有文件所有者可以运行该脚本)
chown root:wheel script
(将文件所有者设置为root)