Назад | Перейти на главную страницу

Срок действия «токена аутентификации» для пользователя с удаленным паролем истек.

Настройка:

1) Пароль пользователя был удален командой "passwd -d"

2) У пользователя запущены задания cron

Эта проблема:
Раз в 30 дней (политика истечения срока действия пароля по умолчанию) cron завершается с ошибкой

Authentication token is no longer valid; new one required
ERROR: failed to open PAM security session: Success
ERROR: cannot set security context

Мои вопросы:
Есть ли способ предотвратить это?
Почему у пользователя с удаленным паролем истек срок действия токена аутентификации?

У меня была эта проблема с каплей Debian 8 DigitalOcean, созданной с использованием параметра «пользовательские данные» (сценарий установки, размещенный в веб-форме (bash или cloud-init)).

проверьте журнал systemd на наличие соответствующих сообщений об ошибках:

journalctl | grep -B 1 -i "cron. * токен аутентификации" | хвост -n 3

May 19 13:17:01 debian-512mb-fra1-01 CRON[16714]: pam_unix(cron:account): expired password for user root (root enforced)
May 19 13:17:01 debian-512mb-fra1-01 CRON[16714]: Authentication token is no longer valid; new one required
May 19 13:17:01 debian-512mb-fra1-01 cron[470]: Authentication token is no longer valid; new one required

посмотреть, у каких аккаунтов истек срок действия

вырезать -d: -f 1 / etc / passwd | пока читаем U; do chage -l $ U | sed "s | ^ | $ U: |"; сделано | grep "должно быть"

root:Last password change                   : password must be changed
root:Password expires                   : password must be changed
root:Password inactive                  : password must be changed

используйте инструмент 'chage' для обновления полей срока действия, первая попытка

chage -I -1 -m 0 -M 999999 -W 31 корень

Примечание: не дало желаемого эффекта, пока я также не добавил параметр «последнее изменение» (-d)

используйте инструмент 'chage' для обновления полей срока действия, вторая попытка

chage -d `date" +% F "` -E 2999-01-01 -I -1 -m 0 -M 999999 -W 31 root

проверить срок действия поля

chage -l корень

Last password change                    : May 19, 2017
Password expires                    : never
Password inactive                   : never
Account expires                     : Jan 01, 2999
Minimum number of days between password change      : 0
Maximum number of days between password change      : 999999
Number of days of warning before password expires   : 31

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

Если это так, вы можете очистить их вручную, используя vipw - Затронутое поле будет либо в passwd файл или shadow файл в зависимости от вашей ОС (см. man 5 passwd и man 5 shadow для получения подробной информации о форматах файлов, чтобы вы знали, какие поля вам нужно очистить)

В Ubuntu мой / etc / shadow файл отсутствовал (хотя там был / etc / shadow-) так что все, что я сделал, это бежал ...

sudo pwconv

... И я решил эту проблему, воссоздав файл / etc / shadow.

(Хотя я еще не могу подтвердить, что это долгосрочное исправление, оно может длиться до тех пор, пока пароль не изменится / не истечет время или пока не произойдет какой-либо другой фактор) --- кто-то поддержит меня или исправит меня