Highlighted
hirach
3 Silver

Unityへのコマンド実行(SSHとUEMCLI)

解決策を見る

Unityに対してコマンドを実行する方法は、SSHログインとUEMCILインストール環境からのコマンド実行の2通りあると思います。それぞれ作業できるユーザを確認したいのですが、

・SSHログインしてuemcliを実行する場合:serviceユーザ

・UEMCLIをインストールした環境から直接コマンド実行する場合:adminユーザ

という認識で合ってますでしょうか・・・?(以下のFAQページも参考にしています)

Unity - よくある質問/回答/トラブルシューティング(000486383)

4件の返信4
モデレーター
モデレーター

Re: Unityへのコマンド実行(SSHとUEMCLI)

解決策を見る

hirachさん

おっしゃる通り、SSHアクセスでのUemcli発行はservice userが必要です。(後述資料Page662)しかしUemcliがインストールされた端末からのUemcli発行はUnityシステムへのログインの許されたUser /Pwdであれば発行ができます。そのリストは/user/account show にて確認可能です。(資料Page21

資料:https://www.emc.com/collateral/TechnicalDocument/docu69330.pdf

 

試しにやってみました

C:\Program Files (x86)\EMC\Unisphere CLI>uemcli -d 10.xxx.xxx.xxx -u aya -p Password1234# /user/account show
Storage system address: 10.xxx.xxx.xxx
Storage system port: 443
HTTPS connection

Remote certificate:
Issuer:     CN=Unity450
Subject:    CN=Unity450
Valid from: 2019-01-17 16:18:47 Z
Valid to:   2022-01-16 16:18:47 Z

Would you like to:
  [1] Accept the certificate for this session
  [2] Reject the certificate
  [3] Accept and store
Please input your selection (The default selection is [1]): 1
1:    ID   = user_admin
      Name = admin
      Role = administrator
      Type = local

5:    ID   = user_aya
      Name = aya
      Role = administrator
      Type = local

 

0 件の賞賛
hirach
3 Silver

Re: Unityへのコマンド実行(SSHとUEMCLI)

解決策を見る

ayasさん、

ご返信ありがとうございます。
さっそく確認して、以下の疑問が残ってしまいました。。。

 

・CLIガイドp.662の記載は、Manage SSH accessコマンドを実行する場合に限定の説明のように見えますので、今回の疑問の解消にはあまりつながらない認識です。
 ──それはそれとして、SSHログインできるユーザ=serviceユーザのみ、という理解で正しいでしょうか?

・/user/account show コマンドは、serviceユーザでログインしたSSH経由のコマンド実行ではAccess is deniedされてしまいました。(Error Code:0x6000002)
 serviceユーザは使用できるuemcliコマンドに制限がある、という理解で良いでしょうか?

・もし、SSHログインできるのはserviceユーザだけで、serviceユーザが実行できるuemcliコマンドには制限がある、となりますと、「SSHログインして実行できるコマンドには制限がある」という理解で正しいでしょうか?
 たとえばユーザへの権限付与など、SSHログインですべてのコマンドを実行可能にするための必要な設定が不足していることがあれば、ご教授いただけるとありがたいです。

・Unityに関してお客様によるCLI操作を実行したい場合、原則、UEMCLIがインストールされた環境でUEMCLIを実行する、という認識で良いでしょうか?(SSHアクセスでもどちらでも使いやすい方を選べる、というような認識でいました…)

0 件の賞賛
モデレーター
モデレーター

Re: Unityへのコマンド実行(SSHとUEMCLI)

解決策を見る

hirachさん

返信ありがとうございます。

 

・SSHログインできるユーザ=serviceユーザのみ 

⇒その通りです。

確かにCLIガイドの該当部分はManage SSH access のみにだけ適応,という記載ですよね。例が悪くてごめんなさい。テクニカルガイドには以下の文言があるのでSSHではservice user credentialが必要、であることには変わりないです。Access system via Putty over SSH for command-line login with “service” user account, use UEMCLi or svc_ service scripts

 

・serviceユーザは使用できるuemcliコマンドに制限がある

⇒はい。コマンドによってAdminとの使い分けが必要です。そのためログインがserviceでもadminユーザ権限が必要な場合には明示的に-u admin -p <Password>を指定する必要があります。

ちなみにserviceユーザ権限が必要なコマンド(/service/system ,/service/ssh,/service/spなど)はCLIガイドにその旨注記されています。『This command must be executed with service user credentials』

例)https://www.dell.com/community/%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8-%E3%82%B3%E3%83%9F%E3%8... 

(uemcli shutdownコマンドはserviceユーザでの実行が必須。)

・たとえばユーザへの権限付与など、SSHログインですべてのコマンドを実行可能にするための必要な設定が不足していることがあれば、ご教授いただけるとありがたいです。

⇒それぞれのコマンドでの必要なユーザ権限を使い分けることになります。前述したようにService権限が必要なコマンドはその旨記載があり、そのほかはAdmin が必要になるので明示的に指定する形になります。

 

Unityに関してお客様によるCLI操作を実行したい場合、原則、UEMCLIがインストールされた環境でUEMCLIを実行する、という認識で良いでしょうか?(SSHアクセスでもどちらでも使いやすい方を選べる、というような認識でいました…)

⇒両者ともに同じなので運用にあった形での選択をしてください。

0 件の賞賛
hirach
3 Silver

Re: Unityへのコマンド実行(SSHとUEMCLI)

解決策を見る

ayasさん、

詳細な説明ありがとうございます。おかげでよく理解できました。

・SSH接続ログインはserviceアカウントのみ可能であること

・ログイン後のコマンド実行でservice以外のユーザを指定(-u, -p)すればserviceアカウント以外のコマンドも実行可能であること

・adminアカウントとserviceアカウントそれぞれに使用できるコマンドというのが決められていること

・実施したい作業内容と作業環境にあわせて運用の形を検討すること