小编Bob*_*Bob的帖子

为什么我的 setuid root bash shell 脚本不起作用?

我创建了这个简单的脚本,以允许用户删除 Web 服务器在其主目录中创建的文件,而无需给他“su”。两个脚本都设置为"chmod 4750"

最疯狂的是他们确实有效,现在却没有。这是脚本:

#!/bin/bash

# Ask for directory to delete
echo "Enter the file or directory you would like to delete, the assumed path is    /home/user"

read DIRECTORY

rm -rf /home/user/"$DIRECTORY"

echo "Deleting /home/user/$DIRECTORY ..."

exit 0
Run Code Online (Sandbox Code Playgroud)

2:

#!/bin/bash

# Reset permissions
echo "Resetting the ownership of the contents of /home/user to user."

chown -R user /home/user

exit 0
Run Code Online (Sandbox Code Playgroud)

我会让它们更高级一些并为多个用户工作,但现在我什至无法让简单的版本工作。当然,它在以 root 身份运行时有效。它曾经在以用户“用户”身份运行时可以工作,但现在不行了。我明白了:

user@dev:/home/user$ delete.sh
Enter the file or directory you would like to delete, the assumed …
Run Code Online (Sandbox Code Playgroud)

permissions bash setuid chmod chown

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×1

chmod ×1

chown ×1

permissions ×1

setuid ×1