pwck Command in Linux

This tutorial explains Linux “pwck” command, options and its usage with examples.

pwck – verify integrity of password files

Description :

pwck verifies the integrity of the system authentication information. All entries in the /etc/passwd and /etc/shadow are checked to see that the entry has the proper format and valid data in each field. The user is prompted to delete entries that are improperly formatted or which have other incorrectable errors. Checks are made to verify that each entry has
– the correct number of fields
– a unique user name
– a valid user and group identifier
– a valid primary group
– a valid home directory
– a valid login shell

The checks for correct number of fields and unique user name are fatal. If the entry has the wrong number of fields, the user will be prompted to delete the entire line. If the user does not answer affirmatively, all further checks are bypassed. An entry with a duplicated user name is prompted for deletion, but the remaining checks will still be made. All other errors are warning and the user is encouraged to run the usermod command to correct the error. The commands which operate on the /etc/passwd file are not able to alter corrupted or duplicated entries. pwck should be used in those circumstances to remove the offending entry.

Usage :

advertisement
advertisement

pwck [-sr] [passwd shadow]

Options :

-r
The user may execute the command in read-only mode by specifying the -r flag. This causes all questions regarding changes to be answered no without user intervention.
-s
pwck can also sort entries in /etc/passwd and /etc/shadow by UID. To run it in sort mode pass it -s flag. No checks are performed then, it just sorts.

Sanfoundry Certification Contest of the Month is Live. 100+ Subjects. Participate Now!

Note :
By default, pwck operates on the files /etc/passwd and /etc/shadow. The user may select alternate files with the passwd and shadow parameters.

Example :

To verify that all the users and administrators exist in the user database, and have any errors reported (but not fixed), enter:

advertisement
# pwck
user 'lp': directory '/var/spool/lpd' does not exist
user 'news': directory '/var/spool/news' does not exist
user 'uucp': directory '/var/spool/uucp' does not exist
user 'www-data': directory '/var/www' does not exist
user 'list': directory '/var/list' does not exist
user 'irc': directory '/var/run/ircd' does not exist
user 'gnats': directory '/var/lib/gnats' does not exist
user 'nobody': directory '/nonexistent' does not exist
user 'syslog': directory '/home/syslog' does not exist
user 'usbmux': directory '/home/usbmux' does not exist
user 'whoopsie': directory '/nonexistent' does not exist
user 'speech-dispatcher': directory '/var/run/speech-dispatcher' does not exist
user 'pulse': directory '/var/run/pulse' does not exist
user 'hplip': directory '/var/run/hplip' does not exist
user 'saned': directory '/home/saned' does not exist
pwck: no changes

Sanfoundry Global Education & Learning Series – 1000 Linux Tutorials.

If you wish to look at all Linux commands and their usage examples, go to Linux Commands Tutorial.

advertisement
If you find any mistake above, kindly email to [email protected]

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.