シナプス技術者ブログ

シナプスの技術者公式ブログ。インターネットで、鹿児島の毎日を笑顔にします。

CentOS で enableコマンドを実行すると何が起きるのか?

技術部ネットワーク課の二之宮です。

はじめに

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 intsh versh 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.

何も起きません。

まとめ

サーバーでネットワーク機器のコマンドを実行しても、または、その逆でも、致命的なことにはならなさそうです。
良くできてますね。