web-dev-qa-db-ja.com

妥協的なエイリアスと機能を禁止します。エイリアスcd = 'rm -rf〜'

誰かが私のラップトップの後ろに一瞬座って実行するとしましょう:

alias cd='Ha Ha, Got You :))'

または、不明なソフトウェア/スクリプト/などを実行し、~/.bashrcに何かを追加します。好む:

alias sort='rm -rf ~'

これらはaliasesの単なる例です。ご存知のように、これらのことは関数を使用して行うこともできます。

 cd(){ echo "Removing everything you've got :D"; }

これらの状況は単なる架空の例であり、同様のものを検討してください。

小さなスクリプトはどうですか?

Sudo -n ls &>/dev/null
if [ "$?" -eq "0" ]
 then
  Sudo "Some dangerous command"
 else
  cd $1
fi

次にalias cd="/home/user/.config/gtk/.cd.sh"

Bashで実行されたコマンドについては、単にターミナルを閉じて再度開くことができますが、起動ファイルに設定されているコマンドについては、ターミナルを実行するたびにファイルまたはエイリアス/関数のリストを確認することはできません。

2
Ravexina

バカなこと(画面をロックせずに立ち去り、信頼できないソースから検査されていないスクリプトを盲目的に実行するなど)を行うと、悪い結果が得られます。

悪い習慣から回復するのに十分なほど賢くしようとすることは、以前はうまくいきませんでした。

0
waltinator