
В файле /etc/shadow
есть несколько полей дат, которые выражены как количество дней с 1 января 1970 года. Есть ли простой способ получить список пользователей и календарную дату последнего изменения пароля, а также срок его действия?
Ссылка:тень человека(5)
решение1
chage -l <username>
Пример вывода:
Last password change : Dec 17, 2015
Password expires : Mar 16, 2016
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 90
Number of days of warning before password expires : 14
решение2
сообщить статус пароля для указанной учетной записиpasswd -S username
for user in $(cut -d: -f1 /etc/passwd); do sudo passwd -S $user; done
решение3
for n in $(sudo cat /etc/shadow | awk '{FS=":";print $3}'); do date -d "01/01/1970 +${n}days" +%F; done
Чтобы избежать награды за бесполезное использование кошки:
for n in $(sudo awk '{FS=":";print $3}' /etc/shadow); do date -d "01/01/1970 +${n}days" +%F; done
решение4
Это выводит информацию об обновлении пароля для каждого пользователя:
Прочитайте файл /etc/passwd >> проанализируйте каждого пользователя >> выполните команду chage -l для каждого пользователя
for user in $(cut -d: -f1 /etc/passwd); do echo -e "\n $user \n" && chage -l $user; done