OS Xのお話です。
システム環境設定>設定>共有でホスト名を設定することができます。その一方configdがDHCPサーバからホスト名を拾ってきてしまうことがあります。すると、ターミナルでログインしたときにホスト名が見知らぬ名前に変更されてしまい、気持ちの悪い思いをします。
もちろんDHCPサーバの管理者さんに治してもらうのが一番なのですが、ローカルで対応する方法です。
$ sudo scutil --set HostName ホスト名.local
$ sudo scutil --set LocalHostName ホスト名
私の場合は特に前者の設定がされておらずDHCPサーバから設定を拾ってきてしまっていたようでした。HostNameが設定されているかどうかは、以下の方法で確認することができます。
$ sudo scutil --get HostName