サーバをメンテナンスするとき、シェル経由で作業することが多いのですが、rm や sudo のコマンドが履歴に登録されてしまうと誤って使ってしまう可能性があります。
そこで、zsh であるコマンドを履歴に登録しない方法を調査してみました。
具体的には、HIST_IGNORE_SPACE というオプションをするこで、先頭がスペースで始まるコマンドは履歴に登録しない設定ができます。
この設定をして、さらに次のようにエイリアスを設定してみました。
alias rm=’ rm -i’
alias sudo=’ sudo -H’
こうすることで、rm と sudo コマンドは履歴に登録しないようになります。意図的にコマンドを履歴に登録させないようにするには、先頭にスペースを入れるだけでいいのですが、忘れてしまうこともあるのでエイリアスを設定しておくと便利です。
sudo コマンドは微妙なところですが、sudo コマンドでオペミスをしてしまったときの影響を考えると、サーバでは設定しておくが無難なのかなぁと思います。
サーバをメンテナンスするとき、誤ってコマンドを実行してしまったオペミスが発生することがよくあることなので、できる限りオペミスをなくす環境を作りつづけていくことは重要なことだと思います。
とは、いってもなるべく実サーバにログインしないように自動設定やリモート管理を行うというがサーバを運用する上で大事なことだと思います。
Tags: zsh







[...] さらに、僕は sudo をコマンド補完履歴に追加しないようにしています。 [...]