#################################################### # My first awk script :D # It reads /etc/passwd, /etc/shadow, /etc/group and # prints detailed informations about system accounts. # # Run: awk -f passwd.awk /etc/passwd #################################################### BEGIN { FS=":" } { # Wyswietla login/id/gid/ident/home/shell printf("\n\033[1;32m **\033[0m %s (%d:%d)\n%15s: \033[1;33m%s\033[0m\n%15s: \033[1;33m%s\033[0m\n%15s: \033[1;33m%s\033[0m", $1, $3, $4, "comment", $5, "home", $6, "shell", $7); # Sprawdz czy w /etc/shadow znajduje sie haslo system("awk -F':' '/^"$1":/ {\ if ( length($2) == 1 )\ printf(\"\\n%15s: \033[1;35m%s\033[0m\", \"pass\", \"no\");\ else\ printf(\"\\n%15s: \033[1;33m%s\033[0m\", \"pass\", \"yes\");\ }' /etc/shadow "); # Wypisz wszystkie grupy do ktorych dodany jest user system("awk -F':' 'BEGIN { printf(\"\\n%15s: \", \"groups\"); } /(:[ ]*"$1"[ ]*$)|(:[ ]*"$1"[ ]*,)|(,[ ]*"$1"[ ]*,)|(,[ ]*"$1"[ ]*$)/{\ printf(\"\033[1;33m%s\033[0m \", $1);\ }' /etc/group"); # Na koniec znaczek nowej linii printf("\n"); }