Verifique se o UID está entre UID_MIN
e UID_MAX
(definido em /etc/login.defs
):
UID_MIN=$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)
UID_MAX=$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)
USERS=$(awk -F: -v min=$UID_MIN -v max=$UID_MAX '{
if ($3 >= min && $3 <= max) print $1
}' /etc/passwd)
now=$(date +%s)
for user in $USERS; do
last_login=$(date -d "$(last -FRn 1 $user |
egrep -v "wtmp begins|still logged in" |
awk '{print $10 " " $11 " " $13 " " $12}')" +%s)
[ $(( (now - last_login) / 86400 )) -ge 90 ] && echo $user
done