假设我们已经创建了一个具有 root 帐户-rwsr-xr-x script.sh
权限的文件。我们已经在该文件上设置了 suid 位,因此任何要执行该文件的用户都将由该文件的所有者 root 执行。例如我们看一下passwd
命令:
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 68208 Apr 16 17:06 /usr/bin/passwd
该命令与我们的文件类似。任何执行此命令的用户,无论该用户是 root 还是具有 sudo 权限,都将以 root 帐户运行。
问题是我如何验证这个主题?
为了弄清楚这一点,我尝试了以下方法:如果我们查看script.sh
内容,我编写了这个简单的脚本:
#!/bin/bash
if [[ $UID -eq 0 ]]
then
echo "Running as root"
else
echo "Not root"
fi
现在,如果我以普通用户身份运行此脚本,输出将是:Not root
那么如何检查它是否以 root 身份运行呢?
如果我对这些概念有误解,请告诉我。我是新手。
答案1
尝试一下怎么样:
if [ $(whoami) = "root" ]