技術部ネットワーク課の二之宮です。
はじめに
Cisco 社製機器にリモート接続したターミナルエミュレーターで、特権EXECモードを開始する enableコマンドを実行したつもりが、CentOS のサーバーにリモート接続していたターミナルエミュレーターで実行してしまいました。
画面にズラズラーっと文字が表示されて、びっくりしました。
CentOS で enableコマンドを実行すると何が起きるのか?
実行してみる
CentOS Linux release 7.6.1810 (Core)
$ enable enable . enable : enable [ enable alias enable bg enable bind enable break enable builtin enable caller enable cd ~以下省略~
うわっ!これは、大変なことをしでかしたかもしれない!
何がおきたのか?
bash の enableコマンドが実行されました。
オプション無しで実行されたので、シェルの組み込みコマンドのリストが表示されました。
つまり、サーバーの機能が停止するような害はありません。
bash の enableコマンド
bash の組み込みコマンドの一覧表示や、無効/有効の切り替えができます。
有効な bash の組み込みコマンドを一覧表示
$ enable -p enable . enable : enable [ enable alias enable bg enable bind enable break enable builtin enable caller enable cd ~以下省略~
無効な bash の組み込みコマンドを一覧表示
$ enable -n enable -n test
全ての bash の組み込みコマンドを一覧表示
$ enable -a enable . enable : enable [ enable alias enable bg enable bind enable break enable builtin enable caller enable cd ~以下省略~
test コマンドを無効化
$ enable -n test
test コマンドを有効化
$ enable test
ヤマハ社の通信機器で enableコマンドを実行すると何が起きるのか?
それでは、Cisco社の機器ではなく、ヤマハ社の機器で enableコマンドを実行すると何が起きるのでしょうか。
RTX830 Rev.15.02.14
> enable エラー: コマンド名を確認してください
何も起きません。
アライドテレシス社の通信機器で enableコマンドを実行すると何が起きるのか?
アライドテレシス社の機器ではどうでしょうか。
Allied x930-5.4.5-2.1.rel
>enable ##
特権EXECモードに移行しました。
こちらも害はありません。
他のネットワーク機器でよく使うコマンドをサーバーで実行するとどうなるのか?
Cisco社の機器でよく使うコマンド
$ sh log sh: log: No such file or directory
sh int
やsh ver
、sh run
も同じでした。- なお、
sh log
の場合、カレントディレクトリにlog
というファイル名のシェルスクリプトがあれば実行されますので、ご留意ください。
$ ter len 0 -bash: ter: command not found
$ conf t -bash: conf: command not found
$ copy run start -bash: copy: command not found
$ reload -bash: reload: command not found
何も起きません。
ヤマハ社の機器でよく使うコマンド
$ administrator -bash: administrator: command not found
$ show config -bash: show: command not found
$ save -bash: save: command not found
$ restart -bash: restart: command not found
$ cold start -bash: cold: command not found
何も起きません。
サーバーでよく使うコマンドをネットワーク機器で実行するとどうなるのか?
逆に、サーバーでよく使うコマンドをネットワーク機器で実行するとどうなるのでしょうか。
Cisco 社製機器
WS-C2960G-24TC-L 12.2(55)SE11
##ls -l ^ % Invalid input detected at '^' marker.
##top -cd1 ^ % Invalid input detected at '^' marker.
##ps auxwwf ^ % Invalid input detected at '^' marker.
何も起きません。
ヤマハ社製機器
RTX830 Rev.15.02.14
## ls -l エラー: コマンド名を確認してください
## top -cd1 エラー: コマンド名を確認してください
## ps auxwwf エラー: コマンド名を確認してください
何も起きません。
アライドテレシス社製機器
Allied x930-5.4.5-2.1.rel
##ls -l ^ % Invalid input detected at '^' marker.
##top -cd1 ^ % Invalid input detected at '^' marker.
##ps auxwwf ^ % Invalid input detected at '^' marker.
何も起きません。
まとめ
サーバーでネットワーク機器のコマンドを実行しても、または、その逆でも、致命的なことにはならなさそうです。
良くできてますね。