
我試圖阻止遠端呼叫腳本。使用者需要先 SSH 登錄,然後執行腳本
ssh remote-server "script.sh"
應該失敗
ssh remote-server
登入後
./script.sh
應該可以工作
我可以更改所有權並應用chmod
,但遠端用戶可以使用ssh remote-server "sudo -u newuser ./script.sh"
使用AWS EC2實例
答案1
運行ssh foo@remote-server
後跟./script.sh
相當於運行ssh foo@remote-server ./script.sh
,而運行ssh foo@remote-server
後跟sudo -u bar ./script.sh
相當於ssh foo@remote-server sudo -u bar ./script.sh
(除了sudo
可能會失敗,因為它需要 TTY,這可以輕鬆解決)。所以我擔心你問的沒有意義。您為解決這種人為差異所做的任何事情,例如測試是否存在$TERM
或[ -t 0 ]
可能很容易解決。