ちょっと危険なhostnameコマンド

Linuxでホスト名を表示するコマンドに「hostname」がある。

下記のように単体で使用すれば現在のホスト名を表示してくれる。

 [root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]#


しかし、このコマンドには意外な落とし穴がある。

これは先輩に聞いた話しだが、
ホスト名を確認する為に「hostname」コマンドを叩いたときに、
手元が狂って何かのキーを押してしまったらしい。
気がついたらサーバのホスト名が変わっていて、こっそり元に戻したとのこと。

なぜこのようなことが起こるかというと、hostnameコマンドは
コマンドに続けて半角スペースと文字列でホスト名が変更できるのだ。

 hostname [文字列]


意図しないホスト名の変更が発生しないように、
ホスト名の確認には他のコマンドを使用した方が良いと教えてもらった。

そのコマンドは下記である。

 uname -n


これはシステムの情報を表示するだけのコマンドなので意図せぬ変更などは発生しない。
「-n」オプションを付けることによりホスト名だけの表示が可能だ。

実は「hostname」コマンド単体で使うと「uname -n」を参照しているだけなのだ。


設定変更作業前にホスト名を確認することはよくあると思う。
そんなときは「hostname」と打つのではなく「uname -n」と打つ癖を付けていこう。

気がついたらホスト名がアルファベット一文字になっていたとか笑えないので・・・。



[改訂第3版]Linuxコマンドポケットリファレンス


この記事へのコメント