SETUID 在我的笔记本电脑上不起作用

SETUID 在我的笔记本电脑上不起作用

假设我有两个文件

total 8
-r-sr-xr-x 1 root root 34 Oct  8 17:36 openroot.sh
-rwx------ 1 root root 38 Oct  8 17:34 root.txt

内容根目录

Hi I am root file.

内容openroot命令

#!/bin/bash

whoami
cat root.txt

现在我是普通用户(例如:person1).我执行以下命令:

./openroot.sh

输出如下:

person1
cat: root.txt: Permission denied

这意味着我无法打开 root.txt。这是怎么回事?

答案1

出于安全原因,Linux 会忽略 shell 脚本的 SUID 位。例如,请参阅http://www.faqs.org/faqs/unix-faq/faq/part4/section-7.html由于某些原因。

因此您的 shell 脚本不能以 root 身份运行,并且不允许打开文本文件。

相关内容