xref: /freebsd/usr.sbin/vipw/vipw.8 (revision 315ee00f)
1.\" Copyright (c) 1983, 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 3. Neither the name of the University nor the names of its contributors
13.\"    may be used to endorse or promote products derived from this software
14.\"    without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26.\" SUCH DAMAGE.
27.\"
28.\"     @(#)vipw.8	8.1 (Berkeley) 6/6/93
29.\"
30.Dd November 12, 2022
31.Dt VIPW 8
32.Os
33.Sh NAME
34.Nm vipw
35.Nd edit the password file
36.Sh SYNOPSIS
37.Nm
38.Op Fl d Ar directory
39.Sh DESCRIPTION
40The
41.Nm
42utility edits the password file after setting the appropriate locks,
43and does any necessary processing after the password file is unlocked.
44If the password file is already locked for editing by another user,
45.Nm
46will ask you
47to try again later.
48The default editor for
49.Nm
50is
51.Xr vi 1 .
52.Pp
53When run without options,
54.Nm
55will work with the password files in
56.Pa /etc .
57The
58.Fl d
59option may be used to specify an alternative
60.Ar directory
61to work with.
62.Pp
63The
64.Nm
65utility performs a number of consistency checks on the password entries,
66and will not allow a password file with a
67.Dq mangled
68entry to be
69installed.
70If
71.Nm
72rejects the new password file, the user is prompted to re-enter
73the edit session.
74.Pp
75Once the information has been verified,
76.Nm
77uses
78.Xr pwd_mkdb 8
79to update the user database.
80This is run in the background, and,
81at very large sites could take several minutes.
82Until this update
83is completed, the password file is unavailable for other updates
84and the new information is not available to programs.
85.Sh ENVIRONMENT
86If the following environment variable exists it will be utilized by
87.Nm :
88.Bl -tag -width PW_SCAN_BIG_IDS
89.It Ev EDITOR
90The editor specified by the string
91.Ev EDITOR
92will be invoked instead of the default editor
93.Xr vi 1 .
94This can be used to allow a script to non-interactively modify the
95password file.
96.It Ev PW_SCAN_BIG_IDS
97See
98.Xr pwd_mkdb 8 .
99.El
100.Sh FILES
101.Bl -tag -width "/etc/master.passwdXXX" -compact
102.It Pa /etc/master.passwd
103Current password file.
104.It Pa /etc/passwd
105Legacy password file.
106.It Pa /etc/ptmp
107Password lock file.
108.It Pa /etc/pwd.db
109Insecure password database file.
110.It Pa /etc/spwd.db
111Secure password database file.
112.El
113.Sh SEE ALSO
114.Xr chpass 1 ,
115.Xr passwd 1 ,
116.Xr passwd 5 ,
117.Xr adduser 8 ,
118.Xr pw 8 ,
119.Xr pwd_mkdb 8
120.Sh HISTORY
121The
122.Nm
123utility appeared in
124.Bx 4.0 .
125.Sh BUGS
126The mechanism for checking for password file modifications requires that
127the modification time of the password file changes.
128This means that in a default configuration where file system timestamps
129are not calculated with sub-second precision,
130.Ev EDITOR
131has to run for at least one second.
132Non-interactive editor scripts should invoke
133.Xr sleep 1
134or equivalent to ensure this happens.
135