Skip navigation

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

今回は ESXi 5.0 です。

 

まず、ESXiの root ユーザで、SSHログイン。


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

~ # id
uid=0(root) gid=0(root)

~ # whoami
root

~ # echo $USER
root


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

~ # vmware -v
VMware ESXi 5.0.0 build-623860

 

~ # esxcli system version get
   Product: VMware ESXi
   Version: 5.0.0
   Build: Releasebuild-623860
   Update: 1


3. esxtop実行してみる。

~ # which esxtop
/sbin/esxtop  →esxtopは/sbin配下にある。

~ # echo $PATH
/bin:/sbin  →パスも通っている。

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

→実行できた(当然ながら)。バッチモード(-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:  →起動停止できた。(これも当然ながら)

 

次は、作成した一般ユーザ「vmuser1」に ESXi の「システム管理者」ロールをつけてログインしてみます。

ひと通り、root でできたことをやってみます。

 

1. ユーザIDの確認

~ $ id
uid=501(vmuser1) gid=100

~ $ whoami
vmuser1

~ $ echo $USER
vmuser1


2. バージョンの確認

~ $ vmware -v
Error during version check: Failed to get vmkernel version: Operation not permitted (running as non-root?)

→ vmware コマンドだと、バージョン確認できない。


~ $ esxcli system version get

-sh: esxcli: not found

~ $ echo $PATH
/bin  → esxcli のパス(/sbin)が通っていない。フルパスで実行してみる。

 

~ $ /sbin/esxcli system version get
   Product: VMware ESXi
   Version: 5.0.0
   Build: Releasebuild-623860
   Update: 1  →esxcli であれば実行できる。


3. esxtop実行してみる。

~ $ /sbin/esxtop
esxtop: Need to run as user root on local console.

→ root でないと実行できない。


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

~ $ vim-cmd vmsvc/power.on /vmfs/volumes/datastore1/vm1/vm1.vmx
Error during version check: Failed to get vmkernel version: Operation not permitted (running as non-root?)

→ これも、root じゃないとできない。


5.sudoコマンド

~ $ sudo
-sh: sudo: not found

~ $ which sudo

~ $

→ ESXi に sudo は入っていない。


6. suで root になってみる。

~ $ su -
Password:
~ # id
uid=0(root) gid=0(root)

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

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

→ su で root になれば、esxtop も 仮想マシン起動停止もできる。

 

ESXi 5.0 では、「システム管理者」 権限をつけてもSSH(DCUI も) アクセスした場合はあまりできることがなく

なにかするのであれば結局 root にスイッチ(su)する必要がありそうです。

 

ちなみに、ESXi 5.1 ~はこちらをどうぞ。

ESXi に システム管理者ユーザでSSH (ESXi 5.1編)