VIPW(8)                     System Manager's Manual                    VIPW(8)

NAME
     vipw – edit the password file

SYNOPSIS
     vipw [-d directory]

DESCRIPTION
     The vipw utility edits the password file after setting the appropriate
     locks, and does any necessary processing after the password file is
     unlocked.  If the password file is already locked for editing by another
     user, vipw will ask you to try again later.  The default editor for vipw
     is vi(1).

     When run without options, vipw will work with the password files in /etc.
     The -d option may be used to specify an alternative directory to work
     with.

     The vipw utility performs a number of consistency checks on the password
     entries, and will not allow a password file with a “mangled” entry to be
     installed.  If vipw rejects the new password file, the user is prompted
     to re-enter the edit session.

     Once the information has been verified, vipw uses pwd_mkdb(8) to update
     the user database.  This is run in the background, and, at very large
     sites could take several minutes.  Until this update is completed, the
     password file is unavailable for other updates and the new information is
     not available to programs.

ENVIRONMENT
     If the following environment variable exists it will be utilized by vipw:

     EDITOR           The editor specified by the string EDITOR will be
                      invoked instead of the default editor vi(1).  This can
                      be used to allow a script to non-interactively modify
                      the password file.

     PW_SCAN_BIG_IDS  See pwd_mkdb(8).

SEE ALSO
     chpass(1), passwd(1), passwd(5), pwd_mkdb(8)

HISTORY
     The vipw utility appeared in 4.0BSD.

BUGS
     The mechanism for checking for password file modifications requires that
     the modification time of the password file changes.  This means that in a
     default configuration where file system timestamps are not calculated
     with sub-second precision, EDITOR has to run for at least one second.
     Non-interactive editor scripts should invoke sleep(1) or equivalent to
     ensure this happens.

macOS 15.2                     February 14, 2012                    macOS 15.2