ESXi に 管理者ユーザでログインして、何ができるか試してみました。

今回は ESXi 5.1 です。

 

ESXi 5.1 からは root になる必要がないらしい、というのを試してみたいと思います。

vmroot ユーザを作成 & システム管理者 ロールを与えてSSH ログインしてみました。

 

製品情報のサイトより。

https://www.vmware.com/jp/products/datacenter-virtualization/vsphere/scale-security.html

セキュリティの強化:ESXi シェルで操作する場合に、共有の root アカウントを使用する必要はなくなりました。 管理権限を割り当てられたローカル ユーザーは、シェルに対する完全なアクセス権が自動的に付与されます。 シェルへのフル アクセスを取得したローカル ユーザーは、権限を必要とするコマンドを実行するときに、su コマンドを使って root 権限を取得する必要がなくなりました。

 

1. ユーザIDを確認してみる。

~ # id
-sh: id: not found
~ # whoami
-sh: whoami: not found
~ # echo $PATH
/bin:/sbin

→なんと、id などコマンドは入っていません。(/sbinにもパスはとおっているのに)

 

~ # echo $USER
vmroot

~ # echo $SHELL
/bin/sh

→いまのユーザは vmroot という自分で作成したユーザ。rootではありません。


2. バージョン確認してみる


root 以外の管理者ユーザでログインしたままで vmware -v でも

バージョン確認できるようになっています。

~ # vmware -v
VMware ESXi 5.1.0 build-799733

~ # esxcli system version get
   Product: VMware ESXi
   Version: 5.1.0
   Build: Releasebuild-799733
   Update: 0


3. esxtop実行してみる。

~ # esxtop -b -n 1 | awk -F, '{print $2}'
"\\hvha2\Memory\Memory Overcommit (1 Minute Avg)"
"0.00"

→実行できた(5.0のころはroot以外は実行NGだった)。

バッチモード(-b)はたくさん出力されるので今回もawkで一部だけ出力。


4. 仮想マシンの起動・停止

~ # vim-cmd vmsvc/power.on /vmfs/volumes/datastore1/vm1/vm1.vmx
Powering on VM:
~ # vim-cmd vmsvc/power.off /vmfs/volumes/datastore1/vm1/vm1.vmx
Powering off VM:

→仮想マシンの起動停止もできた。(これも5.0のころは、root以外は実行NGだった)


5. ためしに、su コマンドで root になってみる。

~ # su -
-sh: su: not found

~ # find / -name su
~ #

→ なんと、そもそも su が入っていない。

 

本当に、今まで不本意ながら root になって実施していた作業が

root 以外でもできるようになっていました。