我有一个脚本,需要用 sudo 执行。
#!/bin/bash
cp "$@" /destionation/dir
这是一个好的脚本吗?或者有人可以绕过限制目标目录吗?
感谢您的建议。
答案1
嗯,这里有一个小错误:/destionation
而不是/destination
。
那里是该脚本存在安全问题。
用户可以将其`sudo /bin/bash`
作为文件名传递,然后他们将拥有一个 root shell。
它们还可以嵌套命令,例如:
`sudo /bin/bash; echo "hello" >> /tmp/from_root`
形成以 root 用户身份运行的任何一组操作。
我不建议使用这个脚本,因为不仅目标目录无关紧要,而且还会带来更大的问题。
一个可能更好的解决方案是创建一个全世界可写的目录,这样您就不需要 sudo 权限。