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


16

Позвольте мне предварить это с: Я НЕ есть в наличии корневого доступа.

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

Есть ли команда или способ получить метку времени, когда мой пароль пользователя истечет?

Ответы:


16

Вы должны быть в состоянии получить эту информацию из chageутилиты. Не требует root для запуска в режиме списка.

Примечание: это, скорее всего, работает только для локальной passwdаутентификации на основе. Я не знаю, можно ли это сделать для работы с режимами аутентификации, которые не помещают информацию для входа в passwd/ shadowфайлы. Я предполагаю, что эти решения предоставляют свои собственные инструменты, но не знают о них.

$ chage -l test                       
Last password change                                : Apr 17, 2012
Password expires                                    : Apr 27, 2012
Password inactive                                   : never
Account expires                                     : May 20, 2012
Minimum number of days between password change      : 0
Maximum number of days between password change      : 10
Number of days of warning before password expires   : 7

Я использовал это с быстрым awk для отображения даты истечения срока действия моего пароля при входе в систему.


Странно, я получаю сообщение об ошибке: неизвестный пользователь. Я даже пытался whoami | xargs chage -lубедиться, что я не делаю что-то явно неправильно.
steveo225

Что возвращает whoami и что делает grep $(whoami) /etc/password?
Мат

Похоже, что это работает, только если пользователь является локальным (не в LDAP или другой базе данных).
Патрик

@ Патрик: вы, скорее всего, правы, и у меня нет доступа к машинам с такой настройкой аутентификации. Поэтому не могу предоставить дополнительную информацию.
Мат

whoamiвозвращает правильное имя пользователя, но я верю, что система использует LDAP.
steveo225

2

В ldap вы будете делать что-то вроде:

ldapsearch -x -Z  uid=$1 pwdChangedTime | \
          grep -vE '^#|^$' | grep pwdChangedTime | awk '{print $2}'

0

От chageвас можно сделать несколько изменений и узнать детали входа в систему следующим образом ...

Usage: chage [options] [LOGIN]

Options:
  -d, --lastday LAST_DAY        set date of last password change to LAST_DAY
  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --list                    show account aging information
  -m, --mindays MIN_DAYS        set minimum number of days before password
                                change to MIN_DAYS
  -M, --maxdays MAX_DAYS        set maximim number of days before password
                                change to MAX_DAYS
  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS

и если у вас есть доступ Root, то можете изменить срок действия пароля, просто отредактируйте ..

vim /etc/login.defs

просто настройте значения ниже ...

PASS_MAX_DAYS 30
PASS_MIN_DAYS 1
PASS_WARN_AGE 7

Это может вам помочь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.