BASH 2
Chk_expiry.sh By allan on 15th April 2026 09:11:04 AM
  1. #!/bin/bash
  2.  
  3. # Show only users with password expiry date set (not "never") and show the expiry date.
  4.  
  5. # one-liner:
  6. # awk -F: '$3 >= 1000 && $7 !~ /(nologin|false)$/ {print $1}' /etc/passwd | while read -r user; do expiry=$(chage -l "$user" 2>/dev/null | awk -F': ' '/^Password expires/{print $2}'); [ -n "$expiry" ] && [ "$expiry" != "never" ] && printf '\n%s\nPassword expires\t: %s\n' "$user" "$expiry"; done
  7.  
  8. awk -F: '$3 >= 1000 && $7 !~ /(nologin|false)$/ {print $1}' /etc/passwd | while read -r user; do
  9.         expiry=$(chage -l "$user" 2>/dev/null | awk -F': ' '/^Password expires/{print $2}')
  10.         if [ -n "$expiry" ] && [ "$expiry" != "never" ]; then
  11.                 printf '\n%s\nPassword expires\t: %s\n' "$user" "$expiry"
  12.         fi
  13. done

Paste is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.