Как избежать появления сообщения “sudo: Account or password is expired, reset your password and try again”

Вопрос или проблема

Я пытаюсь добавить пользователя, например, amit, в группу amit, как показано ниже.

root# groupadd -g 1500 -f amit                              
root# useradd amit -m -G sudo -u 1500 -g 1500 -o -p "amit"

Однако, когда я пытаюсь переключиться на пользователя amit, выводится следующее сообщение:

root# sudo su - amit
sudo: Счетная запись или пароль устарели, сбросьте пароль и попробуйте снова
Changing password for root.

Могу я узнать, почему я получаю это сообщение, что я должен сделать, чтобы избежать этого сообщения и переключиться напрямую на пользователя amit.

Вы можете обойти это, изменив политику истечения пароля с помощью chage. Если вы переключились на root с помощью sudo -i или подобной команды, вы можете проверить текущую политику с

# chage -l root

Вы должны увидеть что-то вроде

Last password change                : Sep 12, 2018
Password expires                    : Dec 11, 2018
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

Измените настройки, чтобы они не истекали:

# chage -E -1 -M -1 -I -1 -m 0 root

Проверьте изменения с помощью chage -l root

# chage -l root
Last password change                : Sep 12, 2018
Password expires                    : never
Password inactive                   : never
Account expires                     : never
Minimum number of days between password change      : 0
Maximum number of days between password change      : -1

Объяснение

man chage покажет параметры, а также значения таких “магических” чисел, как “-1”.

-E, –expiredate EXPIRE_DATE
Передача числа -1 в качестве EXPIRE_DATE удалит дату истечения срока учетной записи.
-M, –maxdays MAX_DAYS
Передача числа -1 в качестве MAX_DAYS удалит проверку действительности пароля.
-I, –inactive INACTIVE
> Передача числа -1 в качестве INACTIVE удалит неактивность учетной записи.
-m, –mindays MIN_DAYS
Установите минимальное количество дней между изменениями пароля в MIN_DAYS. Значение ноль для этого поля указывает на то, что пользователь может изменять свой пароль в любое время.

manpage для useradd утверждает, что предоставленный пароль должен быть зашифрован. "amit" таким не является. Поэтому, поскольку пароль поврежден, вам будет предложено его изменить. Вы действительно не хотите указывать пароль, даже зашифрованный, так как он будет показан через ps и через команду history. Всегда используйте passwd <userid>, чтобы он был скрыт.

.

Ответ или решение

Чтобы избежать ошибки "sudo: Account or password is expired, reset your password and try again" при попытке переключиться на пользователя, необходимо обратить внимание на несколько ключевых моментов при создании пользователя и его начальных настройках.

Шаги для решения проблемы

  1. Создание пользователя:
    При создании пользователя с помощью команды useradd, важно правильно указать все параметры. В примере вы создаете пользователя amit с этими опциями:

    useradd amit -m -G sudo -u 1500 -g 1500 -o -p "amit"

    Здесь ключ -p определяет пароль в зашифрованном виде, а так как пароль amit не зашифрован, это создаёт проблему с аутентификацией.

  2. Настройка пароля:
    После создания пользователя, вместо указания пароля через -p, рекомендуется использовать команду passwd, как это обеспечивает безопасность. Чтобы установить или изменить пароль пользователя amit, выполните:

    passwd amit

    Введите новый пароль, который будет скрыт от посторонних глаз, т.к. ввод осуществляется в защищенном режиме.

  3. Проверка и корректировка политики истечения пароля:
    С помощью команды chage можно проверить текущие настройки истечения пароля для пользователя и изменить их при необходимости:

    chage -l amit

    Если вы видите, что срок действия пароля истекает, его можно обновить, настроив неограниченный срок действия:

    chage -M -1 amit

    Это снимет ограничения по истечению срока действия пароля.

  4. Объяснение параметров chage:

    • -M -1: убирает проверку истечения срока действия пароля.
    • -E -1: отключает ограничение срока действия учетной записи.
    • -I -1: отменяет период неактивности учетной записи, после которого она блокируется.
    • -m 0: разрешает изменять пароль без задержек.
  5. Избегание ошибок:
    Всегда используйте шифрованный пароль, если его нужно указать при создании пользователя, или, лучше всего, избегайте использования опции -p в команде useradd из соображений безопасности.

Итог

Следуя вышеуказанным простым шагам, вы сможете избежать проблемы с истекшим паролем при переключении на другого пользователя. Экономия на начальных настройках безопасности может привести к неожиданным сбоям, поэтому важно обеспечить корректную и надежную конфигурацию с самого начала.

Эти рекомендации помогут вам поддерживать безопасность и беспроблемную работу системных пользователей в вашей среде Linux.

Оцените материал
Добавить комментарий

Капча загружается...