Zabbix 6.0 でパスワードを忘れてしまいました。
年末に試してみようと思い、コンテナにZabbix 6.0をインストールしました。
今月になって設定をしていこうと思ったところ、管理者パスワードを忘れてしまい、
ログインができない状況になってしまいました。
ネットで検索するとmysqlにログインし、zabbix.usersテーブルに対して、
パスワードを初期化可能と記載されていたのですが、Zabbix 6.0の自分の環境では
「ERROR 1054 (42S22): Unknown column 'alias' in 'where clause'」
とエラーが発生しました。
エラーの内容から、SQL文でWhere句に指定した「alias」というカラムがない
ということは分かったので対応を進めていきます。
実行した手順
1)MySQL に接続できる環境にログインします。
自分の環境では、zabbixやmysqlをコンテナに構築しているため、
今回はzabbix serverに接続します。
root@rocky # docker exec -it zabbix_server /bin/bash root@zabbix_server #
2)MySQLにログインします。
以下の例では、事前にDB_ADDRにMySQLサーバのIPアドレスを指定しています。
MySQLのrootのパスワードをコンソールに入力する形となります。
MySQLのrootパスワードは覚えていたので、助かりました…
root@zabbix_server # mysql -h ${DB_ADDR} -uroot -p
3)ユーザーテーブルで管理者名やログイン失敗回数を確認します。
以下の例では、「attempt_failed」カラムで5回失敗していることと、
管理者ユーザー名は「admin」で設定されていることを確認しています。
mysql> select username,attempt_failed,attempt_ip,passwd from zabbix.users; +----------+----------------+---------------+---------------------------+ | username | attempt_failed | attempt_ip | passwd | +----------+----------------+---------------+---------------------------+ | admin | 5 | 192.168.0.1 | {暗号化文字列 1} | | guest | 0 | | {暗号化文字列 2} | +----------+----------------+---------------+---------------------------+ 2 rows in set (0.00 sec)
4)パスワードの初期化を実施してみます。
参考にさせていただいた情報だと「passwd」に「d41d8cd98f00b204e9800998ecf8427e」を
セットするとパスワードは空白文字列になるそうです。
以下のように「admin」のパスワードを初期化しましたが、エラーが発生しました。
mysql> update users set passwd = "d41d8cd98f00b204e9800998ecf8427e" where alias="admin"; ERROR 1054 (42S22): Unknown column 'alias' in 'where clause'
テーブルのカラム名がusernameで、値が「admin」の行を更新すればいいのではと、
SQL文を変更して、パスワードとログイン失敗回数値の初期化を実施します。
Query OKと表示されたので、MySQL的には問題なさそうです。
mysql> update zabbix.users set passwd='d41d8cd98f00b204e9800998ecf8427e' where **userName**='admin'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> mysql> update zabbix.users set attempt_failed=0 where **userName**='admin'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
5)Zabbixでログイン確認をします。
Web画面で無事ログインできたので、[管理]-[ユーザー]から該当ユーザーに対して、
パスワード変更を忘れずに実施しました。
パスワードマネージャーなどで記憶させるなど、ちゃんと対応しておかないとですね。
気になってたUSBブートのWindows 8をやり直してみました。
- diskpart
- list disk
- select disk 1
- clean
- create partition primary
- select partition 1
- format fs=ntfs quick
- active
- assign
- list volume
- exit
- diskpart
- create vdisk file=D:¥windows8eval.vhdx maximum=32768 type=fixed
- select vdisk file=D:¥windows8eval.vhdx
- attach vdisk
- exit
- diskpart
- select vdisk file=D:¥windows8eval.vhdx
- attach vdisk
- select partition 1
- assign
- list volume
- exit
- bcdboot <マウントしたVHDファイルのドライブレター> ¥Windows /s <Sandiskのドライブレター> /v
- bcdedit /store <Sandiskのドライブレター>¥boot¥bcd /set {bootmgr} locale ja-jp
- bcdedit /store <Sandiskのドライブレター>¥boot¥bcd /set {default} locale ja-jp
気になってたUSB3.0メモリを買ってみました
でも、この間のNUCにインストールしたWindows 8 Enterprise 評価版のコントロールパネルから、Windows To Goをクリックしてみると、「これはリムーバブル ドライブでWindows To Goに対応ていません」の悲しいメッセージが…
気になってたNUC買ってみました - asasaoka's blog
Windows 8 Enterprise 評価版のダウンロード
負けたくないので、Windows ADKもインストールしてあったし、USBドライブへの直接展開を試してみました。
Windows 7 もうひとつのインストール方法 - yukinork's blog - Site Home - TechNet Blogs
imagex.exe /apply での展開は8分程度で終わったので、さすがUSB3.0と思いながら、再起動したところ、起動しません。
ちゃんとbcdbootもしたのになぁと、Intel Visual BIOSを確認してたら、Device&Peripheralsの項目でUSB Legacyとあったので、チェックをオフにしてみました。
無事にブートして、初回設定の画面が表示されました。
でも、101キーボードで認識されたのに、気付くまで、パスワードが入らないと悩んでしまいました。
使ってみて遅くはないんですが、Windows Updateが効かないのは、やっぱり怖くて、使えませんね。
諦めて、USBハードディスクにインストールするか、考えてみます。