はじめに
最近ZabbixのDBデータを移行して使おうとした時に、GUIログインできなくなって困ったときの備忘録です。DBでパスワードを変えてどうにかこうかにしました。
バージョン
Zabbix 6.0
GUIでログインできない!
早い話が以下みたいな状況です。パスワード…忘れた!!みたいな状況で、とにかくログインできない状況です。

DBでパスワードを見てみよう
Zabbixが使用しているDBにログインします。「DBのログイン?意味不明ー」みたいな人は結構ハードル高いかもしれませんが、頑張ってください。
以下はPostgreSQLの場合です。DBはデフォルトの「zabbix」というDBに接続しています。
$ psql -d zabbix
mysqlの場合は以下でできたはず。
$ mysql -uroot -p
>use zabbix;
一旦DBで以下のSQLを実行。
select username,passwd from users;
実行例は以下。
zabbix=# select username,passwd from users;
username | passwd
----------+--------------------------------------------------------------
guest | $2y$10$89otZrRNmde97rIyzclecuk6LwKAsHN0BcvoOKGjbT.BwMBfm7G06
Admin | $2y$10$1nNdqEqxoIN53Cmfq0W5z.YOVSsFQtbuktSRx0QAEwpXrHoTtXNQi
パスワードリセット
以下のSQLを実行した場合、ログインパスワードは「zabbix」になります。
passwdの値は、Googleなどで「$2y$10$」でハッシュ値を生成できるサイトを探し、設定したいパスワードのハッシュ値をpasswdの値に設定します。
# UPDATE config SET authentication_type=0;
# update users set passwd = '$2y$10$c/PIjmwcv2sM1pda8UqV1./Bh.YoTHVTTM4UsWUGIPhDxMCrcYia2' WHERE username = 'Admin';
# select username,passwd from users;
username | passwd
----------+--------------------------------------------------------------
guest | $2y$10$89otZrRNmde97rIyzclecuk6LwKAsHN0BcvoOKGjbT.BwMBfm7G06
Admin | $2y$10$c/PIjmwcv2sM1pda8UqV1./Bh.YoTHVTTM4UsWUGIPhDxMCrcYia2
(2 行)
※実行しているSQLから分かる通り、よく見かける対策とはちょっと異なります。Aliasというカラムではないし、md5でハッシュ値を入れないので、注意が必要です。
実行後、GUIでAdminユーザがzabbixでログインできるようになっているはずです。

