ECS. Изменение или разблокировка управления и мониторинга пользователей с помощью REST API
Summary: Изменение или разблокировка управления и мониторинга пользователей с помощью API. Изменение пароля emcmonitor, если невозможно получить доступ с помощью пользовательского интерфейса.
Instructions
Иногда пользователи забывают свой пароль и больше не могут войти в ECS со своими учетными данными.
Чтобы изменить пароль с помощью REST API, выполните следующие действия.
- Получите список текущих пользователей. Эта команда отображает список всех пользователей, кроме
emcmonitorиemcservice:
Команда.
# svc_rest_cmd -u root -p ChangeMe /vdc/users/
Пример.
admin@ecsnode1:~> svc_rest_cmd -u root -p ChangeMe /vdc/users/
svc_rest_cmd 1.0.10
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<mgmt_user_infos>
<mgmt_user_info>
<is_external_group>false</is_external_group>
<isSystemAdmin>false</isSystemAdmin>
<isSystemMonitor>false</isSystemMonitor>
<userId>emcsecurity</userId>
</mgmt_user_info>
<mgmt_user_info>
<is_external_group>false</is_external_group>
<isSystemAdmin>true</isSystemAdmin>
<isSystemMonitor>true</isSystemMonitor>
<userId>lex</userId>
</mgmt_user_info>
<mgmt_user_info>
<is_external_group>false</is_external_group>
<isSystemAdmin>true</isSystemAdmin>
<isSystemMonitor>true</isSystemMonitor>
<userId>root</userId>
</mgmt_user_info>
Для запроса определенного пользователя, включая специальные учетные записи, такие как emcmonitor и emcservice, используйте следующий синтаксис:
Команда.
# svc_rest_cmd -u root -p ChangeMe /vdc/users/<username>
Пример.
admin@ecsnode1:~> svc_rest_cmd -u root -p ChangeMe /vdc/users/emcmonitor svc_rest_cmd 1.0.10 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <mgmt_user_info> <is_external_group>false</is_external_group> <is_locked>false</is_locked> <isSecurityAdmin>false</isSecurityAdmin> <isSystemAdmin>false</isSystemAdmin> <isSystemMonitor>true</isSystemMonitor> <userId>emcmonitor</userId> </mgmt_user_info>
- Создайте файл с паролем
SystemAdminиSystemMonitorдоступ, который должен быть у пользователя. В данном примере пользователь, которого необходимо сбросить, былemcmonitor.
# vi /file/path
- Нажмите клавишу INSERT.
- Вставьте в сеанс интерфейса командной строки следующее: (Щелчок правой кнопкой мыши делает то же самое, что и сочетание клавиш Ctrl+v в Windows)
<mgmt_user_info_update> <password>ChangeMe</password> <isSystemAdmin>false</isSystemAdmin> <isSystemMonitor>true</isSystemMonitor> </mgmt_user_info_update>
- Нажмите клавишу Esc
- Введите
:wq!
admin@ecsnode1:~> vi /tmp/emcmonitor <mgmt_user_info_update> <password>ChangeMe</password> <isSystemAdmin>false</isSystemAdmin> <isSystemMonitor>true</isSystemMonitor> </mgmt_user_info_update>
- Подтвердите содержимое файла:
# cat /file/path
admin@ecsnode1:~> cat /tmp/emcmonitor <mgmt_user_info_update> <password>ChangeMe</password> <isSystemAdmin>false</isSystemAdmin> <isSystemMonitor>true</isSystemMonitor> </mgmt_user_info_update> NOTE: Make sure that the SystemAdmin and SystemMonitor is correct, this will change the user abilities. Match this with the output from step 1.
- Сбросьте пароль, используя приведенные ниже команды
svc_rest_cmd.
Команда.
# svc_rest_cmd PUT -u root -p ChangeMe -xml -file <file_name> /vdc/users/<user_to_change>
#svc_rest_cmd PUT -u root -p ChangeMe -xml -file /tmp/emcmonitor /vdc/users/emcmonitor svc_rest_cmd 1.0.10
Теперь пользователь может войти в систему с паролем, определенным в файле, созданном на шаге 2.
Чтобы разблокировать или изменить пароль учетной записи для заблокированной учетной записи с помощью REST API, выполните следующие действия.
Этот метод работает, если для виртуального ЦОД включены правила паролей и атрибут учетной записи пользователя is_locked имеет значение «true»:
admin@ecsnode1:~> svc_rest_cmd -u root -p ChangeMe /vdc/users/emcservice svc_rest_cmd 1.0.10 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <mgmt_user_info> <is_external_group>false</is_external_group> <is_locked>true</is_locked> <isSecurityAdmin>false</isSecurityAdmin> <isSystemAdmin>false</isSystemAdmin> <isSystemMonitor>true</isSystemMonitor> <userId>emcservice</userId> </mgmt_user_info>
- Создайте файл со следующим содержимым. Если включены правила паролей, устанавливаемый пароль должен соответствовать всем критериям, установленным правилами паролей.
<mgmt_user_info_unlock> <password>ChangeMe</password> </mgmt_user_info_unlock>
- Разблокируйте и сбросьте пароль, используя указанные ниже команды
svc_rest_cmd.
Команда.
# svc_rest_cmd PUT -u root -p ChangeMe -xml -file <file_name> /vdc/users/<user_to_change>/unlock
Пример.
#svc_rest_cmd PUT -u root -p ChangeMe -xml -file /tmp/emcservice /vdc/users/emcservice/unlock svc_rest_cmd 1.0.10
Вывод не ожидается. Проверьте учетную запись пользователя и убедитесь, что для is_locked значения установлено значение false:
admin@ecsnode1:~> svc_rest_cmd -u root -p ChangeMe /vdc/users/emcservice svc_rest_cmd 1.0.10 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <mgmt_user_info> <is_external_group>false</is_external_group> <is_locked>false</is_locked> <isSecurityAdmin>false</isSecurityAdmin> <isSystemAdmin>false</isSystemAdmin> <isSystemMonitor>true</isSystemMonitor> <userId>emcservice</userId> </mgmt_user_info>