在我接受的所有教育中,我都被告知,它将setuid
允许任何对文件具有执行权限的人以所有者的身份运行它。然而,我似乎无法设置二进制文件并以简单用户身份运行它。这是我尝试过的:
root@pc# chmod u+s,o+x /usr/bin/apt
root@pc# su - zero
zero@pc$ apt update
[sudo] password for zero:
Sorry, user zero is not allowed to execute '/usr/bin/apt update' as root on pc.
默认情况下它就像一个魅力,/usr/bin/passwd
但似乎 Linux 不允许我在其他二进制文件上设置它。我究竟做错了什么?
答案1
显示的消息表明可能被别名apt
“捕获” 。sudo
使用绝对路径可以避免/usr/bin/apt
这种情况,并确保您使用的是修改属性后的实际二进制文件。