Sudo
有什麼方法可以禁用關閉遠端機器?
我有時使用 錯誤地關閉了遠端機器
sudo init 0
,所以我在我的一個 rc 文件中寫了類似的內容:alias sudo='sudo ' if [ $SSH_CLIENT ]; then alias init 'echo Never use init when ssh' fi
但是,儘管執行了 rc 文件,
init
但仍然執行/sbin/init
而不是別名。而且我不喜歡將全域包裝腳本添加到/usr/local/bin
. 那可以禁用sudo init 0
嗎?或者我必須向管理員尋求幫助?
重新定義
sudo
為函式:sudo() if [ "$1" = init ] && [ -n "$SSH_CLIENT" ]; then echo >&2 "Never use init when ssh" return 1 else command sudo "$@" fi
如果您希望您的別名在 之後擴展
sudo
,您仍然可以添加一個alias sudo='sudo '
它仍然會呼叫我們的
sudo
函式。
對於 debian 和衍生產品,有一個名為的軟體
molly-guard
完全符合您的要求——如果它檢測到遠端登錄,它會攔截關閉命令,並要求您確認您確定您正在關閉正確的系統,方法是輸入系統的名稱。