Existe un comando llamado pwck que mediante su ejecución verifica que la información contenida en los ficheros de autenticación /etc/passwd y /etc/shadow es correcta. Básicamente comprueba el número de campos en cada una de las entradas de los ficheros, verifica la existencia de los campos de login, UID y GID además de revisar que el directorio home de cada usuario existe y la shell que utiliza.
Su ejecución es simple, ejecutamos como root el comando y examinamos la salida, en este ejemplo vemos inconsistencia con los directorios home de varios usuarios (no existen:
# pwck
usuario «lp»: directorio «/var/spool/lpd» no existe
usuario «news»: directorio «/var/spool/news» no existe
usuario «uucp»: directorio «/var/spool/uucp» no existe
usuario «www-data»: directorio «/var/www» no existe
pwck: sin cambios
Si por ejemplo pusiéramos una shell incorrecta al usuario www-data nos avisaría del fallo:
# pwck
usuario «www-data»: directorio «/var/www» no existe
usuario «www-data»: programa «/bin/shtest» no existe
Podemos probar (¡no lo hagáis con usuarios importantes o en servidores en producción!)a eliminar la columna del grupo en el usuario. pwck nos avisará y de forma activa nos indicará si queremos eliminar la línea incorrecta:
# pwck
entrada del archivo de contraseñas no válida
¿eliminar la línea «www-data: x :33::www-data:/var/www:/bin/sh»? no
ninguna entrada del fichero de contraseñas concuerda con /etc/passwd
¿eliminar la línea «www-data:*:14889:0:99999:7:::»? no
Si aceptamos las modificaciones nos indicará que se han realizado cambios en los archivos:
pwck: los archivos se han actualizado

Su ejecución es simple, ejecutamos como root el comando y examinamos la salida, en este ejemplo vemos inconsistencia con los directorios home de varios usuarios (no existen:
# pwck
usuario «lp»: directorio «/var/spool/lpd» no existe
usuario «news»: directorio «/var/spool/news» no existe
usuario «uucp»: directorio «/var/spool/uucp» no existe
usuario «www-data»: directorio «/var/www» no existe
pwck: sin cambios
Si por ejemplo pusiéramos una shell incorrecta al usuario www-data nos avisaría del fallo:
# pwck
usuario «www-data»: directorio «/var/www» no existe
usuario «www-data»: programa «/bin/shtest» no existe
Podemos probar (¡no lo hagáis con usuarios importantes o en servidores en producción!)a eliminar la columna del grupo en el usuario. pwck nos avisará y de forma activa nos indicará si queremos eliminar la línea incorrecta:
# pwck
entrada del archivo de contraseñas no válida
¿eliminar la línea «www-data: x :33::www-data:/var/www:/bin/sh»? no
ninguna entrada del fichero de contraseñas concuerda con /etc/passwd
¿eliminar la línea «www-data:*:14889:0:99999:7:::»? no
Si aceptamos las modificaciones nos indicará que se han realizado cambios en los archivos:
pwck: los archivos se han actualizado