SUID 意外运行

SUID 意外运行

我在使用 Linux Mint。

我已使用以下命令将 SUID 位添加到脚本中:

chmod u+s script.sh

ll经( )确认ls -laF

ll(ls -laF)输出

现在,如果我使用其他用户登录,我将无法执行该script.sh文件;我收到“权限被拒绝”错误:

屏幕截图:执行 ./script.sh 时出现“权限被拒绝”

我究竟做错了什么?

ASAIK,SUID 允许任何人以所有者身份执行该程序。

答案1

简短回答:您没有向文件所有者以外的任何人授予执行权限。模式当前为 4764。最后两位数字必须是 5 或 7,其他人才能执行它。

    使用 4755。很少需要让文件所有者以外的人可以写入。有些情况下需要这样做,但默认应该是神经网络44,神经网络55 或神经网络11(或更少),除非您有理由使该文件可写。

    Setuid 文件应该绝不绝不曾经 除文件所有者之外的任何人都可以写入。

答案的其余部分:setuid(通常)不适用于脚本,因此,即使您将脚本 chmod 为 4755 并授予其他用户执行权限,它也将以调用它的用户身份运行,而不是以文件所有者的身份运行。

相关内容