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をやり直してみました。

前回、挫けたSandisk Extreme USB 3.0 64GBへのWindows 8インストールですが、いろいろ考え直してみました。


仕事でよくVHDを検証で使うのですが、マウントすれば、ハードディスクとして認識されるはずなので、インストール後にWindows Updateも出来るのではと、試してみました。

前回の作業でも使ったWindows PE 4.0をインストールした別のUSBメモリで起動します。


Windows PEが起動したら、diskpartコマンドから、Sandisk Extreme USB 3.0 64GBを初期化して、パーティションを作成しました。

  1. diskpart
  2. list disk
  3. select disk 1
  4. clean
  5. create partition primary
  6. select partition 1
  7. format fs=ntfs quick
  8. active
  9. assign
  10. list volume
  11. exit
2のとこで、対象のSandiskがどのディスク番号か容量で判断しています。

ISOファイルをマウントして、仮想DVDドライブとして使えるUSBハードディスクにを持っていたので、事前にWindows 8評価版のISOを指定しておき、NUCにつなげます。


このHDDは、ISOマウントがハードウェアエミュレートなので、新しいNUCでも問題なく使えました。

では、マウントしたWindows 8のインストールメディアのルート直下にあるBOOTフォルダを参照し、bootsectコマンドで、対象のSandiskにマスターブートレコードを書き込みます。

bootsect.exe /nt60 <Sandiskのドライブレター>

ここで、アクセス権のエラーが出たので、/forceオプションを指定して、強制書き込みを実施しました。

ここからが前回と異なります。
diskpartコマンドから、VHDファイルを作成して、マウントします。

  1. diskpart
  2. create vdisk file=D:¥windows8eval.vhdx maximum=32768 type=fixed
  3. select vdisk file=D:¥windows8eval.vhdx
  4. attach vdisk
  5. exit
USBメモリに作成したVHDファイルをマウントしたので、Windows 8のインストールメディアから、setup.exeを実行し、インストール先に、マウントしたVHDファイルを選択して、インストールを完了します。

インストール後の再起動では、綺麗に起動しませんw

なので、bcdのエラー仮面を気にせず、Windows PEのUSBメモリから、再起動します。

Windows PEが起動したら、先ほどの手順と同じ要領で、VHDファイルをマウントします。

この時、attach vdisk の後でassignとlist volumeを実行して、VHDファイルのマウント先がどのドライブレターか、確認しておきます。

  1. diskpart
  2. select vdisk file=D:¥windows8eval.vhdx
  3. attach vdisk
  4. select partition 1
  5. assign
  6. list volume
  7. exit
インストール後のbcdに関するエラーを対処するために、bcdbootコマンドを実行します。

  1. bcdboot <マウントしたVHDファイルのドライブレター> ¥Windows /s <Sandiskのドライブレター> /v
日本語で表示して欲しいので、bcdeditコマンドで編集します。

  1. bcdedit /store <Sandiskのドライブレター>¥boot¥bcd /set {bootmgr} locale ja-jp
  2. bcdedit /store <Sandiskのドライブレター>¥boot¥bcd /set {default} locale ja-jp
Windows 7とかで経験のある方なら、分かると思うのですが、deviceでVHDファイルを指定するのが、お作法かと思いきや、エラーが出ました。

なので、このままWindows PEをシャットダウンして、BIOS設定でSandiskから起動します。

いやぁ、無事にOut of Boxが開始され、初回設定の画面まできました。

Wifiの設定もして、Windows Updateも試したところ、無事に完了しました。

これでWindows To Go 認定のUSBメモリを買い直さなくてすみました 笑







気になってたUSB3.0メモリを買ってみました

どうしても、Windows To Goをやってみたくて、ろくに調べもせずに、Sandisk Extreme USB 3.0 64GBを買ってしまいました。


f:id:asasaoka:20130723002424j:plain

でも、この間のNUCにインストールしたWindows 8 Enterprise 評価版のコントロールパネルから、Windows To Goをクリックしてみると、「これはリムーバブル ドライブでWindows To Goに対応ていません」の悲しいメッセージが…

気になってたNUC買ってみました - asasaoka's blog

Windows 8 Enterprise 評価版のダウンロード


負けたくないので、Windows ADKもインストールしてあったし、USBドライブへの直接展開を試してみました。

Windows ADK の概要

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ハードディスクにインストールするか、考えてみます。


気になってたNUC買ってみました

前から気になってたんですが、スペックに物足りなくて、我慢してたところ、Core i5のNUCが発売されるとのことで、発売日に買ってみました。


流石に発売日だったとはいえ、売れ切れ覚悟でドスパラにいったら、積まれてたんですよ。

我慢してた分、嬉しくなっちゃうもんですね。

早速、帰って来て、開けてみました。

f:id:asasaoka:20130706013045j:plain

いやぁ、噂の「チャン、チャラララーン」が聞こえた時は、これかぁーと感動 w

一緒に買ってきたSSDとメモリ、ミッキーマウス型の電源ケーブルを並べて、これまたパシャリ。

f:id:asasaoka:20130706013514j:plain

取説は読む気がしなかったので、そのまま底面を見てみたら、4つのプラスネジがあるので、開けてみたら、すぐマザーボードにアクセスできました。

f:id:asasaoka:20130706013748j:plain

前に買っておいたwifiのminiPCIeカードを刺して、アンテナをつないでみます。

Realtek RTL8191SE

f:id:asasaoka:20130706013613j:plain

SSDは、パソコンハウス東映で前のi3モデルには一緒に使う人が多いよと言われた奴を、買ってみました。

でも、買った後で「今日出た奴には動くか分からないけど…」と言われました 笑


メモリもDDR3 1600の16GBで速度も容量も余裕感たっぷりです。


組み込んでみると、こんな感じですね。

f:id:asasaoka:20130706015315j:plain

さぁ、HDMI経由でLGの32LM6600に繋いでみたところ、BIOS画面も無事に表示されました。

さて、OSは何をインストールしようかなぁ ← 今ココ