こんにちは、キクです。
本記事では先日僕が経験した『vCSAのローカルユーザ作成時に苦戦した話』をシェアしていこうと思います!
簡単に内容をご紹介すると、vCSA上にローカルユーザを作成しようとした際に「Error in excuting command: 8002」と表示されて正常に作成できなかったときの対応方法に関するお話になります。
本記事の内容
それでは、よろしくお願いします。
本作業の目的
冒頭でも触れましたが、今回僕はvCSAにローカルユーザを作成する作業を担当しました。
そもそもなぜローカルユーザを作成する必要があったのか?
それはvCSAを監視するシステムからログインするためのユーザが必要だったからです。
ここで作成したユーザを利用して内部的にコマンドを実行してリソースなどに問題ないことを確認します。
本作業で直面した課題「エラーコード:8002」
課題解決までの全体的な流れは後述しますが、ローカルユーザを作成するためにvCSAのアプライアンスシェルにて以下のコマンドを実行しました。
Command> localaccounts.user.add --role <ロール名> --username <ユーザ名> --password
この作業は今回初めてでしたが、コマンド自体は「ローカルユーザを作成する」というシンプルなものです。
ところが、次のようなエラーが返ってきたのです。
Error in executing command: 8002
「なんだこれは」と思い早速調査を開始しました。
いくつか原因の候補を発見しました。
その1つとしては「rootユーザのパスワード期限切れ」です。
しかし、今回はそれが原因ではなかったので解決の糸口が分からなくなり苦戦することになりました。
ただ、今思えばヒントとなるものはありました。
本作業を実施した際には「ユーザは作成できたがパスワードが設定できていない」という状態だったのです。
この状態をもう少し深く考えていればもっと解決が早かったのかもしれません・・・(笑)
課題「エラーコード:8002」を解決した方法
本作業で最終的に「エラーコード:8002」を解決した方法はいたってシンプルでした。
それは「パスワードのポリシー違反」でした。
なんともまあ初歩的・・・。
上述の「localaccounts.user.addコマンド」の最後に「--passwordオプション」を指定することで、そのローカルユーザに対してパスワードを指定することが可能です。
今回はここで指定したパスワードがポリシー違反をしていたことが原因でした。
課題解決までの作業内容
それでは原因がパスワードポリシー違反であることが判明するまでに試行錯誤した内容を書いていこうと思います。
やや備忘録色が強くなってしまいますが、何かしら参考になれば幸いです。
1. 状態確認
「Error in executing command: 8002」が表示されてからまず実施したのが状態確認です。
次のコマンドにてローカルユーザ一覧を確認することができます。
Command> localaccounts.user.list
すると次の結果が得られました。
なお、ここでは作成したユーザ名を「user1」、ロールを「operator」とします。
4:
Username: user1
Role: operator
Fullname: user1
Status: disabled
Passwordstats: noset
Email: ''
ここで「ユーザは作成できているがパスワードは設定できていない」という状態が判明しました。
2. アプライアンスシェルからパスワード変更を試みる
「ユーザは作成できているのだからパスワードを別途設定してみよう」と思いました。
次のコマンドでパスワード変更を試みました。
Command> localaccounts.user.password.update --username user1 --password
しかし、再びエラーが表示されて失敗。
Error in method: Could not update the password. (code com.vmware.applmgmt.err_set_password_failed_update)
3. ユーザ削除
パスワードの再設定にも失敗したので一度ユーザを削除してみました。
Command> localaccounts.user.delete --username user1
4. bashシェルからパスワード変更を試みる
続いて試したのがbashシェルからのパスワード変更です。
ここまで試していたのはアプライアンスシェルで「Command>」というプロンプトが表示される状態。
ここで試すbashシェルは「# 」などのプロンプトが表示されるよく見るやつです。
前述の作業でユーザを削除してしまったので、アプライアンスシェルでユーザを再作成してから本作業を実施しました。
bashシェルでは次のようにパスワード変更を試みました。
# passwd user1
しかし、ここでもエラーが発生。
passwd: Authentication token manipulation error
passwd: password unchanged
このエラーを調べると次のページに辿りつきました。
ユーザー パスワードの長さは、次の要件を満たしている必要があります。
・3 種類の文字クラスを使用するパスワードの場合、最低 8 文字が必要。
・4 種類の文字クラスを使用するパスワードの場合、最低 7 文字が必要。
参考:VMware:認証トークンの操作エラー
この内容から「--passwordオプションで指定したパスワードに問題があるのでは?」という考えに至りました。
そしてアプライアンスシェルから再度上記の要件をクリアしたパスワードを指定したら無事ローカルユーザを作成することができました。
おわりに
いかがでしたでしょうか。
今回はvCSAにおけるローカルユーザ作成で苦戦した話を書いてきました。
エラーには苦戦しましたが、答えはいたってシンプルでした。
でも「パスワード自体に問題がある」ということにもう少し早く気が付ければなと反省です。
本記事を最後までお読みいただきありがとうございました。
ではでは!