我有一個腳本,我需要用 sudo 執行它。
#!/bin/bash
cp "$@" /destionation/dir
這是一個好的腳本還是有人可以繞過限制目標目錄?
感謝您的建議。
答案1
嗯,有個小錯字:/destionation
而不是/destination
.
那裡是該腳本存在安全性問題。
使用者可以`sudo /bin/bash`
作為檔案名稱傳遞,然後他們將擁有 root shell。
它們也可以嵌套命令,例如:
`sudo /bin/bash; echo "hello" >> /tmp/from_root`
形成以 root 使用者身分執行的任何操作集。
我建議不要使用此腳本,因為不僅目標目錄不重要,而且還會遇到更大的問題。
一個可能更好的解決方案是建立一個全域可寫入的目錄,這樣您就不需要 sudo 權限。