pwck man page

pwck — verify integrity of password files


pwck [options] [ passwd [ shadow ] ]


The pwck command verifies the integrity of the users and authentication information. It checks that all entries in /etc/passwd and /etc/shadow (or the files in /etc/tcb, when USE_TCB is enabled) have the proper format and contain valid data. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors.

Checks are made to verify that each entry has:

shadow checks are enabled when a second file parameter is specified or when /etc/shadow exists on the system.

These checks are the following:

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.


The -r and -s options cannot be combined.

The options which apply to the pwck command are:

-h, --help
Display help message and exit.
-q, --quiet
Report errors only. The warnings which do not require any action from the user won't be displayed.
-r, --read-only
Execute the pwck command in read-only mode.
-R, --root CHROOT_DIR
Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory.
-s, --sort
Sort entries in /etc/passwd and /etc/shadow by UID.

This option has no effect when USE_TCB is enabled.

By default, pwck operates on the files /etc/passwd and /etc/shadow (or the files in /etc/tcb). The user may select alternate files with the passwd and shadow parameters.

Note that when USE_TCB is enabled, you cannot specify an alternative shadow file. In future releases, this paramater could be replaced by an alternate TCB directory.


The following configuration variables in /etc/login.defs change the behavior of this tool:

PASS_MAX_DAYS (number)
The maximum number of days a password may be used. If the password is older than this, a password change will be forced. If not specified, -1 will be assumed (which disables the restriction).
PASS_MIN_DAYS (number)
The minimum number of days allowed between password changes. Any password changes attempted sooner than this will be rejected. If not specified, -1 will be assumed (which disables the restriction).
PASS_WARN_AGE (number)
The number of days warning given before a password expires. A zero means warning is given only upon the day of expiration, a negative value means no warning is given. If not specified, no warning will be provided.
TCB_AUTH_GROUP (boolean)
If yes, newly created tcb shadow files will be group owned by the auth group.
TCB_SYMLINKS (boolean)
If yes, the location of the user tcb directory to be created will not be automatically set to /etc/tcb/user, but will be computed depending on the UID of the user, according to the following algorithm:
if ( UID is less than 1000) {
  use /etc/tcb/user
} else if ( UID is less than 1000000) {
  kilos = UID / 1000
  use /etc/tcb/:kilos/user
  make symlink /etc/tcb/user to the above directory
} else {
  megas = UID / 1000000
  kilos = ( UID / megas * 1000000 ) / 1000
  use /etc/tcb/:megas/:kilos/user
  make symlink /etc/tcb/user to the above directory
USE_TCB (boolean)
If yes, the tcb(5) password shadowing scheme will be used.


Group account information.
User account information.
Secure user account information.

Exit Values

The pwck command exits with the following values:

invalid command syntax
one or more bad password entries
can't open password files
can't lock password files
can't update password files
can't sort password files

See Also

group(5), grpck(8), passwd(5), shadow(5), usermod(8).

Referenced By

grpck(8), pwconv(8), shadow(5).

Explore man page connections for pwck(8).