ЕКС: Як змінити або розблокувати керування та моніторинг користувачів за допомогою 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
- Натисніть клавішу вставки.
- Вставте в сеанс CLI наступне: (Клацання правою кнопкою миші робить те саме, що гарячі клавіші Windows Ctrl+v)
<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:
Цей метод працює, коли у VDC увімкнено Password Rules та атрибут облікового запису користувача, коли відображається 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>