こんにちは。
信玄餅を食べると毎回噎せる系エンジニアの橋本です。
たかが信玄餅、そう思ってないですか? それやったら明日も私は噎せますよ。
さて本題。VMWareHostClientのGUIにログインせずにユーザ追加や権限設定を行いたい。
こうする
esxcli system account add -d="説明!" -i="ユーザ名" -p="ぱすわーど" -c="ぱすわーど確認" esxcli system permission set -i ユーザ名 -r 権限
たとえば、keisukeというユーザを作ってAdmin権限を付与したい場合、以下のようにします。
esxcli system account add -d="hona itadakimasu" -i="keisuke" -p="xxxxxx" -c="xxxxxx" esxcli system permission set -i keisuke -r Admin
初期から設定できる権限は以下の通り。
- Admin: 管理者権限ロール。なんでもできます。
- NoAccess: デフォルトのロール。とくに何ができるわけでもない。
- ReadOnly: 閲覧権限ロール。ESXiホスト関連のオブジェクトを表示できるが、変更はできない。
自分で必要な権限ロールを新しく作ることもできます。
応用
コマンドライン上で完結できると何がシアワセかと言いますと、何台ものホストサーバに対して同じ操作をする手間を軽減できるのです。
たとえばesxi-test-server-01〜20までの20台のサーバに同じユーザを作り、公開鍵までまとめて配置したいときは以下のようにします。
for hostname in esxi-test-server-{01..20}.domain;do echo ${hostname} ssh root@${hostname} "mkdir /etc/ssh/keys-keisuke; esxcli system account add -d='hona itadakimasu' -i='keisuke' -p='xxxxxx' -c='xxxxxx'; esxcli system permission set -i keisuke -r Admin" scp /home/keisuke/.ssh/id_rsa.pub root@${hostname}:/etc/ssh/keys-keisuke/authorized_keys done
公開鍵id_rsa.pub はあらかじめssh-keygenで作っておいてくださいね。
なお、このまま使うと全環境で同じパスワードが割り当てられていますから、ユーザ作成後に適宜変えてください。