HP-UX 11.31でrootユーザのロック状態を解除するためにシングルユーザモードで起動する


HP-UX 11.31 でrootユーザのパスワードを間違えすぎてロックされている状態になっているサーバで、ロックを解除するためにシングルユーザモードで起動して対処する手順。

シリアルコンソール接続の場合については見かけるけど、キーボード/ディスプレイが接続されている状態でどうなるのかがうまいこと探せなかったので、ここに明記しておく。

(1) EFI Boot Managerで停める

キーボード/ディスプレイが認識している状態でHP-UXサーバの電源を入れると、しばらく黒い画面のままだが、「EFI Boot Manager」という青い画面が表示される。

しばらく放置すると「HP-UX Primary Boot: ~」が選択してOSが自動起動するが、シングルユーザモードで起動する場合は「EFI Shell [ Built-in]」を選択する。

(2) EFI Shellでコマンドを入力

「Shell>」というプロンプトのEFI Shellが表示される。

EFI Shell UEFI version x.xx [xx.xx]
Device mapping table
  fs0   : Acpi(~)
  fs1   : Acpi(~)
  blk0 : Acpi(~)
<略>
startup.nsh> echo -off

  setting hpux path(\EFI\HPUX)...
  type 'fs[x]:' where x is your bootdisk (0, 1, 2...)
  type 'hpux' to start hpux bootloader
Shell> 

通常は”fs0:”というデバイスにシステムが入っているはずなので「fs0:」と実行する。

Shell> fs:0
fs0:\>

そうすると「fs0:\>」というプロンプトに移行する。

今度は「hpux」を実行すると、「Press Any key to interrupt Auto boot ~ Seconds left till autoboot」というカウントダウン中にキー入力し、「HPUX>」というプロンプトを表示する。

(“hpux -is”と実行し、boot -isは実行しないで起動させる、という資料もあったけど、それで動くのか確証がなかったので実施していない)

fs0:\> hpux
<略>

Press Any Key to interrupt Autoboot
\efi\hpux\AUTO ==> boot vmunix
Seconds left till autoboot -    8
   Type 'help' for help

HPUX> 

(3) シングルユーザモードで起動する

「HPUX>」というプロンプトで「boot -is」と入力し、シングルユーザモードでの起動を開始する。

HPUX> boot -is
> System Memory = xxxx MB
loading section 0
.........(complete)
loading section 1
.........(complete)
loading symbol table
loading System Directory (boot.sys) to MFS
.....
loading MFSFILES directory (bootfs) to MFS
.....
<略>

しばらく待つと「INIT: SINGLE USER MODE」と表示されて「#」というプロンプトで停止する。

INIT: Overriding default level with level 's'

INIT: SINGLE USER MODE

INIT: Running /sbin/sh
# 

(4) パーテーションをマウントする

HP-UX 11.31でロックを解除する場合に必要なコマンドは/usrパーテーションにあるため、最低でも/usrパーテーションをマウントします。

なお、dfコマンドも/usrパーテーションにあるため、シングルユーザモードで起動した直後はdfコマンドも実行できません。

# mount /usr
vxfs mount: V-3-21268: /dev/vg00/lvol7 is corrupted. need checking
#

上記のように「is corrupted. need checking」と表示された場合は、ファイルシステムチェックが必要になるのでfsckコマンドを実行します

# fsck /dev/vg00/lvol7
log replay in progress
replay complete - marking super-block as CLEAN
#

この後、再度「mount /usr」を実行して/usrパーテーションをマウントします。

# mount /usr
#

資料を探すと「/usr パーテーションだけマウントすれば大丈夫」というものと「/usr, /var, /tmpをマウントする」というものとあるけど、どちらが適切なのかよく分からないので、「mount -a」で全部マウントしておきます。

# mount -a
<略>
#

マウントできない場合は適宜、表示されるデバイスに対してfsckコマンドを実行してから再度マウントを試みましょう。

(5) rootユーザのロック解除

まず、rootユーザのロック状態を確認するため「/usr/lbin/getprpw -l root」を実行します。

# /usr/lbin/getprpw -l root
uid=0, bootpw=YES, audid=0, audflg=1, mintm=-1, maxpwln=-1, exptm=-1, lftm=-1, <略> sloginy=-1, culogin=27, uloginy=-1, umaxlntr=-1, alock=NO, lockout=0001000
#

最後の「lockout=0001000」の、数字がアカウント状態を表しており、左から4つめの数字が1ならロックされている状態となります。

ロック解除は「/usr/lbin/modprpw -k root」を実行します。

# /usr/lbin/modprpw -k root
# /usr/lbin/getprpw -l root
uid=0, bootpw=YES, audid=0, audflg=1, mintm=-1, maxpwln=-1, exptm=-1, lftm=-1, <略> sloginy=-1, culogin=27, uloginy=-1, umaxlntr=-1, alock=NO, lockout=0000000
#

lockout=0000000 と 左から4つめの数字が0に変わっており、ロックが解除されています。

(6) rootパスワードを変更する[オプション]

rootパスワードがわからないので、再設定したい、という場合は、この操作を行う必要があるようです。

(自分では未実施)

# passwd root
Changing password for root
Old password:
Last successful password change for root: ~
Last unsuccessful password change for root: ~

Do you want (choose one letter only):
        pronounceable passwords generated for you (g)
        a string of letters generated (l) ?
        to pick your passwords: (p) ?

Enter choice here:

…なんか聞かれました。

どうやらTrusted Systemになっているとこうなるようです。

まず、Trusted Systemになっているかを「/usr/lbin/getprdef -r」を実行して確認します。

# /usr/lbin/getprdef -r
NO, 0, 8, 0, 0, -1, 0, YES, YES, NO, NO, NO, YES, 3, 10, 2, 0
#

Trusted Systemだと上記のように何か表示されます。

Trustedではない場合はエラーになるようです

Trusted Systemを解除する場合は「/usr/lbin/tsconvert -r」を実行します。

その後に「passwd root」でパスワードを再設定し、

「/usr/lbin/tsconvert」で再度 Trusted Systemに戻す、という作業をするようです。

(7) 再起動

再起動して、正常に起動し、ログインが行えるか確認します。


おまけ

シングルユーザモードでBackspaceとか、Ctrl+Cが有効になっていなかった件への対応はおそらく下記を設定すればいけるのではないかとおもわれる(ネタ元:/* とりあえず */ Alive and WellHP-UX/stty – CTRL-Cで中止を明示的に定義」)

Backspaceの有効化

$ stty erase "^H"

Ctrl+Cの有効化

$ stty intr ^c

その他、2021年現在のLinux環境でよくある設定をまとめて実施したい場合

$ stty erase "^H" kill "^U" intr "^C" eof "^D" susp "^Z" hupcl ixon ixoff tostop cs8 -istrip 

Windows Hyper-V仮想マシン上のWindowsライセンス


Hyper-V環境上にWindows Server仮想マシンを導入するとき、「仮想マシンの自動ライセンス認証」という手法により、物理Windows Serverに適用されているプロダクトキーを使用したライセンス認証を行わせることができる。

Windows Server 2012R2ベースのドキュメント「Automatic Virtual Machine Activation

とりあえず現状認識しているライセンスの確認は「slmgr /dlv」を実行することで確認出来る。

ライセンスの適用は「slmgr /ipk ライセンスキー」で適用できる。

MCTの憂鬱「仮想マシン自動ライセンス認証に関して」を見ると、ホストWindows ServerのアプリケーションログにイベントID 12310 として「仮想マシンの自動ライセンス認証要求」のログが出るらしい。

手元に評価版環境しかなかったので実機検証はできず

ブラウザにログインしなくても使えるiLOリモートコンソール for Windows



HPE ProLiantサーバのリモート管理機能iLOには、ネットワーク経由でモニタ/キーボード/マウス操作を可能にするリモートコンソール機能がついている。
iLO用に専用のIPアドレスを割り当てブラウザからログインすると、Javaか.NETかHTML5でリモートコンソールが使えるようになる。
Javaと.NETではブラウザを表示している端末のローカルにあるISOイメージをProLiantサーバ上のDVD-ROMドライブとして認識させ、ブートさせることができるVirtual Driveという機能もある。

ただ、昨今のブラウザのセキュリティ強化の流れでJava/.NETともに使おうとすると、結構面倒くさい。
なんとかならないのかな、とマニュアルを読み直してみたら、スタンドアローンリモートコンソールなるものを発見。

HPE Lights-Outスタンドアロンリモートコンソール for Windows

このアプリケーションをWindows端末にインストールすることで、ブラウザを起動することなく直接iLOのリモートコンソールを開くことができる、というもの。
.NET Framework 3.5 SP1以降が必要であるようです。

起動してみると、こんな感じで接続先のIPアドレスとユーザ名/パスワードを要求されます。

複数のサーバを開く場合も、もう1個立ち上げるだけでいいので、簡単です。

HPE ProLiantのiLOコンソールにアクセスするためのWindows用単体アプリケーション



HPのProLiantサーバに搭載されているiLOのリモートコンソール機能。
いままで、いつもiLOにログインしてからJava/.NETアプリケーションを起動していた。

でも、マニュアルを読んでいたら、HPE Lights-Outスタンドアロンリモートコンソール for Windows、なるアプリケーションがあるということを発見。

・「HPE Lights-Outスタンドアロンリモートコンソール for Windows

iLO3,iLO4,iLO5対応でISOマウントもこのアプリで行うことができる。

DELL PowerEdgeとHPE ProLiantでUbuntuを動かす場合の管理ソフト



RHELと同じようにUbuntuの場合にも管理系ソフトウェアが存在しているので、そのメモ

DELL EMC OpenManage Ubuntu & Debian Repositories
srvadmin-all — Install all OMSA components
srvadmin-base * — Install only base OMSA, no web server
srvadmin-idrac * — Install components to manage iDRAC
srvadmin-idrac7 * — Install Racadm for iDRAC7
srvadmin-idracadm8 — Install Racadm for iDRAC8 and above
srvadmin-webserver * — Install Web Interface
srvadmin-storageservices * — Install RAID Management
syscfg* — Install SysCfg
raidcfg* — Install RaidCfg
dcism — Install iDRAC Service Module

DELL EMC System Update (DSU)
UbuntuではDELL PowerEdge 12G,13Gサーバのfirmwareアップデートのみサポート。

HPE Management Component Pack
hp-health HPE System Health Application and Command line Utilities (Gen9 and earlier)
hponcfg HPE RILOE II/iLO online configuration utility
amsd HPE Agentless Management Service (Gen10 only)
hp-ams HPE Agentless Management Service (Gen9 and earlier)
hp-snmp-agents Insight Management SNMP Agents for HPE ProLiant Systems (Gen9 and earlier)
hpsmh HPE System Management Homepage (Gen9 and earlier)
hp-smh-templates HPE System Management Homepage Templates (Gen9 and earlier)
ssacli HPE Command Line Smart Storage Administration Utility
ssaducli HPE Command Line Smart Storage Administration Diagnostics
ssa HPE Array Smart Storage Administration Service