Сменил пароль локального пользователя, а вход работает только со старым

Viewed 45

Меняю пароль статического пользователя (ресурс User): правлю хеш в ресурсе или меняю через интерфейс. Новый пароль не принимается, старый работает.

1 Answers

Начиная с Deckhouse Platform 1.75 пароль статического пользователя меняют не правкой User, а через ресурс UserOperation (тип ResetPassword) или командой d8:

d8 iam user reset-password <имя-пользователя> # спросит новый пароль
d8 iam user reset-password <имя-пользователя> --generate-password

В старых версиях d8 команда называлась d8 user reset-password <имя> <bcrypt-хеш>.

Что важно:

  • spec.password в User используется только при создании пользователя. В 1.75–1.76 его правка ни на что не влияет, с 1.77 отклоняется.
  • Нужен bcrypt-хеш, MD5 (apr1) не подходит: echo -n '<пароль>' | htpasswd -BinC 10 "" | cut -d: -f2. В UserOperation и в --password-hash хеш вида $2… передаётся как есть, без Base64.
  • UserOperation одноразовый: он выполняется один раз и удаляется через сутки. Для нового действия создайте новый.
  • Сбросить пароль другому пользователю можно с уровнем доступа ClusterAdmin или SuperAdmin. С Deckhouse Platform 1.76 локальный пользователь может сбросить свой пароль сам в интерфейсе входа.

Подробнее в документации: сброс пароля пользователем, административные операции.