我以为设置了SetUID位的可执行文件应以其所有者身份运行,但我无法真正复制它。我尝试了以下方法。
$ cat prepare.sh cp / bin / bash。 chown root.root bash chmod 4770 bash#已验证 $ sudo sh prepare.sh $ ./bash $ id -u 1000 $出口 $
$ cat test.c #include <stdio.h> #include <unistd.h> int main(){ printf(“%d,%d \ n”,getuid(),geteuid()); 返回0; } $ gcc -o test test.c $ chmod 4770测试#验证 $ sudo chown root.root测试 $ ./测试 1000,1000 $#为什么???
然而
$苏 #./bash #id -u 0 #./测试 0,0 # 出口 # 出口 $
注意:安装点没有nosuid
,也没有noexec
设置。
谁能解释为什么它无法在Ubuntu 16.04 LTS上运行?
3
壳脚本
—
Kusalananda
@Kusalananda不是脚本。
—
enzotib
该脚本有点混乱,但这只是一个红色鲱鱼。我想它在那里可以保存两种用法
—
ilkkachu
sudo
?不过,其中存在错误或错字,chmod
缺少文件名。