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編)