[zabbix] ‘Admin’ のパスワードを忘れた! 助けてえらい人! [PostgreSQL]

さて、お前は 夏休みにやりたいこと rev. 0.3 – oshiire*BLOG をぶらさげて、

  1. [タライdeメダカ] ビオトープっぽいのを作ってみた [夏休み#1] – oshiire*BLOG
  2. [オシャレ] 居間の模様替え完了 [夏休み#2] – oshiire*BLOG

だけ書き逃げしてそれからなにをしていたのか、この 2ヶ月以上お前はなにをしていたのか。

仕事です

ということで、夏休みにやろうとしていたこと、パズルも水草の植え替えも終わって、自鯖だけ終わらない予定どおりの夏休みでした。パズルは、表面にのりを塗ったのが 9月近かった気がしますが、ちゃんと今でもラックの上に飾ってあります。

さて、zabbix です。ネットワーク負荷が異常なとき、我が FireWall が古すぎて処理しきれず、通信を優先してくれるがために内部でご機嫌に稼働させている webの管理画面のレスポンスが悪くなり、生き死にを繰り返すがために、我がメールボックスが zabbix からのメールであふれかえるというのが、ここしばらくの掟でした。別にそんなものの死活監視は不要なので止めればいいのに数ヶ月放置でした。なぜなら

zabbix Admin のパスワードが分からない

ということで、本日は PostgreSQL バックエンドで、zabbix 2.0.x を使っている場合に、パスワードを強制的にクリアする方法を書き残して備忘録にして、お風呂に入って寝ます。

1.zabbix 2.0.x w/PostgreSQL でパスワードリセットしたい!

ヒントは、”41d8cd98f00b204e9800998ecf8427e” です。

やることはこう。

  1. psql で zabbix DB へログイン
  2. update SQL を流す
  3. ¥q

1-1.psql で zabbix DB へログイン

そのままです。zabbix DB へ接続可能なユーザーとかは、zabbix frontend web サーバの /etc/zabbix/zabbix.conf.php とかを見てみると、それなりの設定が残っているので、そこを参考にしながら、おまじないを使ってログインします。

1
2
psql -U zabbix -W -d zabbix -h localhost
ユーザ zabbix のパスワード:
  • -U zabbix : ‘zabbix’ ユーザでログインします
  • -W : パスワード要求させます
  • -d zabbix : ‘zabbix’ DB を指定しています
  • -h localhost : 我が家では tcp socket 接続を許可していなかったので、NW経由です。なんてこった。しかも、localhost only とか。

zabbix のパスワードも、きっと zabbix.conf.php に書きっぱなしだと思いますけれども、それでどうぞ。

1-2.update SQL を流す

Admin のユーザID は、きっと ‘1’ なのでそうだと思って進めます。

1
2
zabbix=> UPDATE users SET passwd = 'd41d8cd98f00b204e9800998ecf8427e' WHERE userid = '1';
UPDATE 1

先ほどのヒントがいかされます。このけったいな文字列を入れることで、パスワードなしになります。 SELECT * FROM users; てうつと、きっと大半の方は放置されている guest アカウントのパスワードがはいっていますが、それが空パスワードだと認識できれば、すぐに分かりますね。 ちなみに、zabbix official でも、mysql で同じコト書いてます。SQL もほぼ同じです。私があえてこれを書く必要ないですね。

残している理由は、「MySQL だとそうかもしれないけど、それって PostgreSQL でも同じなの?(´・ω・`)」という無駄に考える時間を省くためです。( 0w0)ノ ウェーイ

1-3.¥q

1
zabbix=> ¥q

これで終わりです。さぁ、空パスワードでユーザ名 Admin とかで入ってみてください。