我创建了这个简单的脚本,允许用户在不给予"su"权限的情况下删除他家目录中由Web服务器创建的文件。这两个脚本都设置为"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
2:
#!/bin/bash
# Reset permissions
echo "Resetting the ownership of the contents of /home/user to user."
chown -R user /home/user
exit 0
我会让它们更加先进并适用于多个用户,但现在我甚至无法让简单版本运行。当然,以root身份运行时它是可以工作的。过去,以'user'用户身份运行时它也能工作,但现在不行了。我得到了这个错误信息:
user@dev:/home/user$ delete.sh
Enter the file or directory you would like to delete, the assumed path is /home/user/[your input]
test-dir
rm: cannot remove ‘/home/user/test-dir/test-file’: Permission denied
Deleting /home/user/test-dir ...
并且
chown: changing ownership of ‘/home/user/test-dir’: Operation not permitted
可能的问题是什么?
-rwsr-x--- 1 root user 291 Nov 6 05:23 delete.sh
-rwsr-x--- 1 root user 177 Nov 6 05:45 perms.sh
echo whoami
,输出是否为root? - Noproblem