我想在Linux中將一個命令列入黑名單或將其添加到sudo以避免意外輸入。如何在Linux中黑名單命令?
我試圖解決我的RVM出於某種原因,類型:
rvm reset
而且失去了所有的gemsets。
我想將此行爲更改爲sudo rvm reset
,並可能添加一條說明此命令將執行的操作的註釋。
我想在Linux中將一個命令列入黑名單或將其添加到sudo以避免意外輸入。如何在Linux中黑名單命令?
我試圖解決我的RVM出於某種原因,類型:
rvm reset
而且失去了所有的gemsets。
我想將此行爲更改爲sudo rvm reset
,並可能添加一條說明此命令將執行的操作的註釋。
chown root `which rvm`
chmod 0700 `which rvm`
限制寶石delete命令使用這樣的事情:
chown -R root `rvm gemdir`
sudo chmod -R 0755 `rvm gemdir`
即使CHMOD也許是不必要的。但是,您需要使用sudo來安裝新的gemset。
但是,這將使每一個RVM指揮權須藤?不知道我是否需要像「rvm gemset list」那樣簡單地完成任務。更感興趣的東西,可以搞砸你的環境,而不是閱讀'刪除'方面。這就像'〜'中的'sudo ls'。 – tomordonez
是的,因爲這個命令改變了rvm文件的所有權和rwx權限,所以對於該命令的所有調用都需要root權限。 – nopasara
還有另一種方法...如果您的gemsets文件將其所有權更改爲root並且限制寫入其他羣組。所以rvm將無權刪除它們。但是這將需要chown和chmod來處理任何新的gemset。 – nopasara
我會換一個外殼函數各地RVM:
rvm() {
case $1 in
reset)
echo "danger Will Robinson" >&2
echo "run 'command rvm reset' if you really want it" >&2
;;
*) command rvm "[email protected]" ;;
esac
}
這是一個很好的建議,因爲它隻影響在終端中交互式運行命令。它不會意外地影響您或其他用戶的任何工具,腳本和服務。 –
謝謝@ glenn-jackman。我如何實現這一點?在rvm的二進制文件或如何? – tomordonez
只需將其添加到〜/ .bashrc中,然後添加'source〜/ .bashrc' –
'搭配chmod 700 \'這RVM \'' –