gpt4 book ai didi

linux - SUID 在 Bash 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 09:37:28 26 4
gpt4 key购买 nike

我写了一个简单的 bash 脚本来备份主目录,e 把它放到/var/backups 中。由于该目录是 protected ,所以我以 root 身份编写脚本,然后设置 SUID。

armando@ubuntu:~/scripts/bash $ ll
-rwsr-xr-x 1 root root 2596 Jul 28 10:43 homebackup.sh*

即便如此,当脚本尝试写入/var/backups 时,我仍收到“权限被拒绝”错误。为什么?

最佳答案

在 Linux 和大多数其他现代 UNIX 系列系统中,setuid 位只能被直接二进制可执行文件识别,而不是脚本。

这是设计使然,也是出于安全原因。您可以通过为您的 setuid 脚本构建编译的包装器或使用现有工具(例如带有配置的 sudo 来避免在以所需用户身份调用特定脚本时需要密码)来解决这个问题。

参见 this comprehensive discussion on UNIX StackExchange .

关于linux - SUID 在 Bash 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25001206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com