Периодически в интерфейсе vSphere Client я встречаюсь с уведомлением о необходимости сметить пароль:
Your password will expire in xx days
. Захотел для себя разобраться, как управлять политиками паролей в VMWare vSphere, можно ли изменить срок появления уведомления об истечении срока действия пароля для локальных и доменных пользователей клиента vSphere и можно ли настроить, чтобы пароли определённых пользователи были бессрочными (никогда не истекали). Вот что удалось накопать:
Политика паролей SSO в VMware vCenter
В моем случае, я решил отключить требование смены пароля для локального пользователя
[email protected]
(т.к. под этим пользователем никто постоянно не работает, а администраторы авторизуются под учетными записями их домена AD).
Для локальных пользователей vCenter по-умолчанию действует SSO политика, которая требует смену пароля пользователя каждые 90 дней.
Настройки парольной политики SSO находятся в разделе vSphere Client: Administration -> Single Sign On -> Configuration.
Как вы видите на вкладке Password Policy, к паролю всех локальных пользователей vCSA применяются следующие требования:
- Минимальная длина – 8 символов (максимальная – 20);
- Срок действия пароля – 90 дней;
- Запрещено использовать последние 5 паролей;
- Есть ограничения на сложность пароля.
Нажмите кнопку Edit и измените параметры политики. Например, вы можете изменить значение Maximum lifetime до 365 (это значит, что пароли нужно менять раз в год), либо указать здесь 0 (значит срок действия пароля не ограничен).
Индивидуальная парольная политика для локальных пользователей VMWare vCSA
Если вы не хотите менять парольную политику для всех пользователей, вы можете изменить настройки срока действия пароля для конкретного пользователя. Например, вы хотите, чтобы пароль локального пользователя backup_user никогда не истекал (сделать его бессрочным). Для этого вам нужно подключится к хосту vCSA с помощью SSH клиента.
Нам понадобится утилита dir-cli, которая находится в каталоге
/usr/lib/vmware-vmafd/bin/
.
cd /usr/lib/vmware-vmafd/bin/
Проверим что есть такой пользователь:
./dir-cli user find-by-name --account backup_user
Enter password for [email protected]:
Account: backup_user
UPN: [email protected]
Вы можете изменить пароль этого пользователя:
./dir-cli password reset --account backup_user --password OldP@ssw0rd --new NewP@ssw0rd
Или указать, что пароль пользователя не должен истекать никогда:
./dir-cli user modify --account backup_user --password-never-expires
Enter password for [email protected]:
Password set to never expire for [backup_user]
Срок действия пароля для root в vCSA
При установке vCenter Server Appliance для пользователя root также устанавливается срок действия пароля – 365 дней (в vCenter <= 6.5) или 90 дней (в vSphere 6.7 ). Т.е. на пользователя root также действуют политики истечения срока пароля.
Настройки парольной политики для root можно проверить в vCSA Appliance Management (https://your_vcenter:5480/ui/access). Перейдите в раздел Administration и проверьте значение параметров в разделе Password expiration settings.
- Password expires: Yes
- Password validity (days): 90
- Password expires on: Jun 13, 2019, 5:00:00 AM
Вы можете увеличить срок действия пароля root, или установить, что пароль root никогда не истекает (значение 0).
Аналогично вы можете проверить срок действия пароля root из консоли сервера:
chage -l root
Last password change : Mar 15, 2019
Password expires : Jun 13, 2019
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
Что интересно в интерфейсе vCSA Appliance Management у пользователя root не запрашивается смена пароля и нет предупреждения об истечении срока его действия.
Однако при выполнении операций обновления vCenter Server Appliance вы можете столкнуться с ошибкой вида:
Appliance (OS) root password is expired or is going to expire soon. Please change the root password before installing an update.
Либо при попытке сменить пароль root через vCSA Appliance Management при истекшем пароле может появится предупреждение:
Permission Denied. Set the maximum number of days when the password will expire. Administrator configuration updated succesfully.
В этом случае вам нужно сменить пароль root из консоли vCSA обычной командой:
passwd
Уведомление об истечении срока пароля в vCenter
По умолчанию в клиенте vCenter уведомление об истечении срока действия пароля пользователя начинает отображаться за 30 дней до его окончания.
В том случае, если пользователи авторизуются в vCenter под своими учетными записями AD, для паролей пользователей применяются доменные парольные политики. И для пользователя начинает появляться уведомление о смене пароля за 30 дней до его истечения. Т.е. если в домене вы для пользователей используете политику смены пароля каждые 30 дней, то у пользователей в интерфейсе vCenter постоянно висит раздражающее напоминание Your password will expire.
В vCSA вы можете настроить за сколько дней до истечения срока действия пароля у пользователя будет отображаться данное уведомление.
Если вы используете HTML5 клиент vSphere, эта настройка указывается в конфигурационном файле на сервере vCenter Server Appliance в файле /etc/vmware/vsphere-ui/webclient.properties.
Откройте файл и найдите параметр sso.pending.password.expiration.notification.days.
Измените его значение на 7 (это значит, что уведомление об истечении срока пароля будет отображаться за 7 дней) и перезапустите клиент vSphere:
service-control --stop vsphere-ui
service-control --start vsphere-ui
Если вы используете старый Web Client (Flex) вам нужно изменить значение параметра sso.pending.password.expiration.notification.days в файле /etc/vmware/vsphere-client/webclient.properties.
После редактирования настроек также нужно перезапустить службу веб-клиента:
service-control --stop vsphere-client
service-control --start vsphere-client