* Replace DragonFly with Dx.
[dragonfly.git] / share / man / man5 / passwd.5
1 .\" Copyright (c) 1988, 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. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     From: @(#)passwd.5      8.1 (Berkeley) 6/5/93
33 .\" $FreeBSD: src/share/man/man5/passwd.5,v 1.26.2.5 2002/02/01 15:51:18 ru Exp $
34 .\" $DragonFly: src/share/man/man5/passwd.5,v 1.5 2006/01/18 09:24:37 swildner Exp $
35 .\"
36 .Dd September 29, 1994
37 .Dt PASSWD 5
38 .Os
39 .Sh NAME
40 .Nm passwd ,
41 .Nm master.passwd
42 .Nd format of the password file
43 .Sh DESCRIPTION
44 The
45 .Nm
46 files are files consisting of newline separated records, one per user,
47 containing ten colon
48 .Pq Ql \&:
49 separated fields.  These fields are as
50 follows:
51 .Pp
52 .Bl -tag -width password -offset indent
53 .It name
54 User's login name.
55 .It password
56 User's
57 .Em encrypted
58 password.
59 .It uid
60 User's id.
61 .It gid
62 User's login group id.
63 .It class
64 User's login class.
65 .It change
66 Password change time.
67 .It expire
68 Account expiration time.
69 .It gecos
70 General information about the user.
71 .It home_dir
72 User's home directory.
73 .It shell
74 User's login shell.
75 .El
76 .Pp
77 Lines whose first non-whitespace character is a pound-sign (#)
78 are comments, and are ignored.  Blank lines which consist
79 only of spaces, tabs or newlines are also ignored.
80 .Pp
81 The
82 .Ar name
83 field is the login used to access the computer account, and the
84 .Ar uid
85 field is the number associated with it.  They should both be unique
86 across the system (and often across a group of systems) since they
87 control file access.
88 .Pp
89 While it is possible to have multiple entries with identical login names
90 and/or identical uids, it is usually a mistake to do so.  Routines
91 that manipulate these files will often return only one of the multiple
92 entries, and that one by random selection.
93 .Pp
94 The login name must never begin with a hyphen
95 .Pq Ql \&- ;
96 also, it is strongly
97 suggested that neither upper-case characters nor dots
98 .Pq Ql \&.
99 be part
100 of the name, as this tends to confuse mailers.
101 .Pp
102 The password field is the
103 .Em encrypted
104 form of the password.
105 If the
106 .Ar password
107 field is empty, no password will be required to gain access to the
108 machine.  This is almost invariably a mistake.
109 Because these files contain the encrypted user passwords, they should
110 not be readable by anyone without appropriate privileges.
111 Administrative accounts have a password field containing an asterisk
112 .Ql \&*
113 which disallows normal logins.
114 .Pp
115 The group field is the group that the user will be placed in upon login.
116 Although this system supports multiple groups (see
117 .Xr groups 1 )
118 this field indicates the user's primary group.
119 Secondary group memberships are selected in
120 .Pa /etc/group .
121 .Pp
122 The
123 .Ar class
124 field is a key for a user's login class.
125 Login classes are defined in
126 .Xr login.conf 5 ,
127 which is a
128 .Xr termcap 5
129 style database of user attributes, accounting, resource and
130 environment settings.
131 .Pp
132 The
133 .Ar change
134 field is the number in seconds,
135 .Dv GMT ,
136 from the epoch, until the
137 password for the account must be changed.
138 This field may be left empty or set to 0 to turn off the
139 password aging feature.
140 .Pp
141 The
142 .Ar expire
143 field is the number in seconds,
144 .Dv GMT ,
145 from the epoch, until the
146 account expires.
147 This field may be left empty or set to 0 to turn off the account
148 aging feature.
149 .Pp
150 The
151 .Ar gecos
152 field normally contains comma
153 .Pq Ql \&,
154 separated subfields as follows:
155 .Pp
156 .Bl -bullet -compact -offset indent
157 .It
158 user's full name
159 .It
160 user's office location
161 .It
162 user's work phone number
163 .It
164 user's home phone number
165 .El
166 .Pp
167 This information is used by the
168 .Xr finger 1
169 program, and the first field used by the system mailer.
170 If an ampersand
171 .Pq Ql \&&
172 character appears within the fullname field, programs that
173 use this field will substitute it with a capitalized version
174 of the account's login name.
175 .Pp
176 The user's home directory is the full
177 .Tn UNIX
178 path name where the user
179 will be placed on login.
180 .Pp
181 The shell field is the command interpreter the user prefers.
182 If there is nothing in the
183 .Ar shell
184 field, the Bourne shell
185 .Pq Pa /bin/sh
186 is assumed.
187 For security reasons, if the shell is set to a script that disallows
188 access to the system (the
189 .Xr nologin 8
190 script, for example), care should be taken not to import any environment
191 variables.  With
192 .Xr sh 1 ,
193 this can be done by specifying the
194 .Fl p
195 flag.
196 Check the specific shell documentation to determine how this is
197 done with other shells.
198 .Sh YP/NIS INTERACTION
199 .Ss Enabling access to NIS passwd data
200 The system administrator can configure
201 .Dx
202 to use NIS/YP for
203 its password information by adding special records to the
204 .Pa /etc/master.passwd
205 file.
206 These entries should be added with
207 .Xr vipw 8
208 so that the changes can be properly merged with the hashed
209 password databases and the
210 .Pa /etc/passwd
211 file (
212 .Pa /etc/passwd
213 should never be edited manually). Alternatively, the administrator
214 can modify
215 .Pa /etc/master.passwd
216 in some other way and then manually update the password databases with
217 .Xr pwd_mkdb 8 .
218 .Pp
219 The simplest way to activate NIS is to add an empty record
220 with only a plus sign
221 .Pq Ql \&+
222 in the name field, such as this:
223 .Bd -literal -offset indent
224 +:::::::::
225
226 .Ed
227 The
228 .Ql \&+
229 will tell the
230 .Xr getpwent 3
231 routines in
232 .Dx Ap s
233 standard C library to begin using the NIS passwd maps
234 for lookups.
235 .Pp
236 Note that the entry shown above is known as a
237 .Em wildcard
238 entry, because it matches all users (the
239 .Ql \&+
240 without any other information
241 matches everybody) and allows all NIS password data to be retrieved
242 unaltered.
243 However, by
244 specifying a username or netgroup next to the
245 .Ql \&+
246 in the NIS
247 entry, the administrator can affect what data are extracted from the
248 NIS passwd maps and how it is interpreted.
249 Here are a few example
250 records that illustrate this feature (note that you can have several
251 NIS entries in a single
252 .Pa master.passwd
253 file):
254 .Bd -literal -offset indent
255 -mitnick:::::::::
256 +@staff:::::::::
257 +@permitted-users:::::::::
258 +dennis:::::::::
259 +ken:::::::::/bin/csh
260 +@rejected-users::32767:32767::::::/bin/false
261
262 .Ed
263 Specific usernames are listed explicitly while netgroups are signified
264 by a preceding
265 .Ql \&@ .
266 In the above example, users in the
267 .Dq staff
268 and
269 .Dq permitted-users
270 netgroups will have their password information
271 read from NIS and used unaltered.
272 In other words, they will be allowed
273 normal access to the machine.
274 Users
275 .Dq ken
276 and
277 .Dq dennis ,
278 who have
279 been named explicitly rather than through a netgroup, will also have
280 their password data read from NIS,
281 .Em except
282 that user
283 .Dq ken
284 will have his shell remapped to
285 .Pa /bin/csh .
286 This means that value for his shell specified in the NIS password map
287 will be overridden by the value specified in the special NIS entry in
288 the local
289 .Pa master.passwd
290 file.
291 User
292 .Dq ken
293 may have been assigned the csh shell because his
294 NIS password entry specified a different shell that may not be
295 installed on the client machine for political or technical reasons.
296 Meanwhile, users in the
297 .Dq rejected-users
298 netgroup are prevented
299 from logging in because their UIDs, GIDs and shells have been overridden
300 with invalid values.
301 .Pp
302 User
303 .Dq mitnick
304 will be be ignored entirely because his entry is
305 specified with a
306 .Ql \&-
307 instead of a
308 .Ql \&+ .
309 A minus entry can be used
310 to block out certain NIS password entries completely; users whose
311 password data has been excluded in this way are not recognized by
312 the system at all.
313 (Any overrides specified with minus entries are
314 also ignored since there is no point in processing override information
315 for a user that the system isn't going to recognize in the first place.)
316 In general, a minus entry is used to specifically exclude a user
317 who might otherwise be granted access because he happens to be a
318 member of an authorized netgroup.
319 For example, if
320 .Dq mitnick
321 is
322 a member of the
323 .Dq permitted-users
324 netgroup and must, for whatever
325 the reason, be permitted to remain in that netgroup (possibly to
326 retain access to other machines within the domain), the administrator
327 can still deny him access to a particular system with a minus entry.
328 Also, it is sometimes easier to explicitly list those users who are not
329 allowed access rather than generate a possibly complicated list of
330 users who are allowed access and omit the rest.
331 .Pp
332 Note that the plus and minus entries are evaluated in order from
333 first to last with the first match taking precedence.
334 This means
335 the system will only use the first entry that matches a particular user.
336 If, using the same example, there is a user
337 .Dq foo
338 who is a member of both the
339 .Dq staff
340 netgroup and the
341 .Dq rejected-users
342 netgroup, he will be admitted to
343 the system because the above example lists the entry for
344 .Dq staff
345 before the entry for
346 .Dq rejected-users .
347 If the order were reversed,
348 user
349 .Dq foo
350 would be flagged as a
351 .Dq rejected-user
352 instead and denied access.
353 .Pp
354 Lastly, any NIS password database records that do not match against
355 at least one of the users or netgroups specified by the NIS access
356 entries in the
357 .Pa /etc/master.passwd
358 file will be ignored (along with any users specified using minus
359 entries). In our example shown above, we do not have a wildcard
360 entry at the end of the list; therefore, the system will not recognize
361 anyone except
362 .Dq ken ,
363 .Dq dennis ,
364 the
365 .Dq staff
366 netgroup, and the
367 .Dq permitted-users
368 netgroup as authorized users.
369 The
370 .Dq rejected-users
371 netgroup will
372 be recognized but all members will have their shells remapped and
373 therefore be denied access.
374 All other NIS password records
375 will be ignored.
376 The administrator may add a wildcard entry to the
377 end of the list such as:
378 .Bd -literal -offset indent
379 +:::::::::/sbin/nologin
380
381 .Ed
382 This entry acts as a catch-all for all users that don't match against
383 any of the other entries.
384 This technique is sometimes useful when it is
385 desirable to have the system be able to recognize all users in a
386 particular NIS domain without necessarily granting them login access.
387 See the description of the shell field regarding security concerns when using
388 a shell script as the login shell.
389 .Pp
390 The primary use of this
391 .Pa override
392 feature is to permit the administrator
393 to enforce access restrictions on NIS client systems.
394 Users can be
395 granted access to one group of machines and denied access to other
396 machines simply by adding or removing them from a particular netgroup.
397 Since the netgroup database can also be accessed via NIS, this allows
398 access restrictions to be administered from a single location, namely
399 the NIS master server; once a host's access list has been set in
400 .Pa /etc/master.passwd ,
401 it need not be modified again unless new netgroups are created.
402 .Sh NOTES
403 .Ss Shadow passwords through NIS
404 .Dx
405 uses a shadow password scheme: users' encrypted passwords
406 are stored only in
407 .Pa /etc/master.passwd
408 and
409 .Pa /etc/spwd.db ,
410 which are readable and writable only by the superuser.
411 This is done
412 to prevent users from running the encrypted passwords through
413 password-guessing programs and gaining unauthorized access to
414 other users' accounts.
415 NIS does not support a standard means of
416 password shadowing, which implies that placing your password data
417 into the NIS passwd maps totally defeats the security of
418 .Dx Ap s
419 password shadowing system.
420 .Pp
421 .Dx
422 provides a few special features to help get around this
423 problem.
424 It is possible to implement password shadowing between
425 .Dx
426 NIS clients and
427 .Dx
428 NIS servers.
429 The
430 .Xr getpwent 3
431 routines will search for a
432 .Pa master.passwd.byname
433 and
434 .Pa master.passwd.byuid
435 maps which should contain the same data found in the
436 .Pa /etc/master.passwd
437 file.
438 If the maps exist,
439 .Dx
440 will attempt to use them for user
441 authentication instead of the standard
442 .Pa passwd.byname
443 and
444 .Pa passwd.byuid
445 maps.
446 The
447 .Dx
448 .Xr ypserv 8
449 will also check client requests to make sure they originate on a
450 privileged port.
451 Since only the superuser is allowed to bind to
452 a privileged port, the server can tell if the requesting user
453 is the superuser; all requests from non-privileged users to access
454 the
455 .Pa master.passwd
456 maps will be refused.
457 Since all user authentication programs run
458 with superuser privilege, they should have the required access to
459 users' encrypted password data while normal users will only
460 be allowed access to the standard
461 .Pa passwd
462 maps which contain no password information.
463 .Pp
464 Note that this feature cannot be used in an environment with
465 .No non- Ns Tn Dx
466 systems.
467 Note also that a truly determined user with
468 unrestricted access to your network could still compromise the
469 .Pa master.passwd
470 maps.
471 .Ss UID and GID remapping with NIS overrides
472 Unlike
473 .Tn SunOS
474 and other operating systems that use Sun's NIS code,
475 .Dx
476 allows the user to override
477 .Pa all
478 of the fields in a user's NIS
479 .Pa passwd
480 entry.
481 For example, consider the following
482 .Pa /etc/master.passwd
483 entry:
484 .Bd -literal -offset indent
485 +@foo-users:???:666:666:0:0:0:Bogus user:/home/bogus:/bin/bogus
486
487 .Ed
488 This entry will cause all users in the `foo-users' netgroup to
489 have
490 .Pa all
491 of their password information overridden, including UIDs,
492 GIDs and passwords.
493 The result is that all `foo-users' will be
494 locked out of the system, since their passwords will be remapped
495 to invalid values.
496 .Pp
497 This is important to remember because most people are accustomed to
498 using an NIS wildcard entry that looks like this:
499 .Bd -literal -offset indent
500 +:*:0:0:::
501
502 .Ed
503 This often leads to new
504 .Dx
505 administrators choosing NIS entries for their
506 .Pa master.passwd
507 files that look like this:
508 .Bd -literal -offset indent
509 +:*:0:0::::::
510
511 .Ed
512 Or worse, this
513 .Bd -literal -offset indent
514 +::0:0::::::
515
516 .Ed
517 .Sy DO _NOT_ PUT ENTRIES LIKE THIS IN YOUR
518 .Pa master.passwd
519 .Sy FILE!!
520 The first tells
521 .Dx
522 to remap all passwords to
523 .Ql \&*
524 (which
525 will prevent anybody from logging in) and to remap all UIDs and GIDs
526 to 0 (which will make everybody appear to be the superuser). The
527 second case just maps all UIDs and GIDs to 0, which means that
528 all users will appear to be root!
529 .Pp
530 .Ss Compatibility of NIS override evaluation
531 When Sun originally added NIS support to their
532 .Xr getpwent 3
533 routines, they took into account the fact that the
534 .Tn SunOS
535 password
536 .Pa /etc/passwd
537 file is in plain
538 .Tn ASCII
539 format.
540 The
541 .Tn SunOS
542 documentation claims that
543 adding a
544 .Ql \&+
545 entry to the password file causes the contents of
546 the NIS password database to be
547 .Dq inserted
548 at the position in the file where the
549 .Ql \&+
550 entry appears.
551 If, for example, the
552 administrator places a
553 .Ql \&+::::::
554 entry in the middle of
555 .Pa /etc/passwd ,
556 then the entire contents of the NIS password map would appear
557 as though it had been copied into the middle of the password
558 file.
559 If the administrator places
560 .Ql \&+::::::
561 entries at both the middle and the end of
562 .Pa /etc/passwd ,
563 then the NIS password map would appear twice: once in the middle
564 of the file and once at the end.
565 (By using override entries
566 instead of simple wildcards, other combinations could be achieved.)
567 .Pp
568 By contrast,
569 .Dx
570 does not have a single
571 .Tn ASCII
572 password file: it
573 has a hashed password database.
574 This database does not have an
575 easily-defined beginning, middle or end, which makes it very hard
576 to design a scheme that is 100% compatible with
577 .Tn SunOS .
578 For example,
579 the
580 .Fn getpwnam
581 and
582 .Fn getpwuid
583 functions in
584 .Dx
585 are designed to do direct queries to the
586 hash database rather than a linear search.
587 This approach is faster
588 on systems where the password database is large.
589 However, when
590 using direct database queries, the system does not know or care
591 about the order of the original password file, and therefore
592 it cannot easily apply the same override logic used by
593 .Tn SunOS .
594 .Pp
595 Instead,
596 .Dx
597 groups all the NIS override entries together
598 and constructs a filter out of them.
599 Each NIS password entry
600 is compared against the override filter exactly once and
601 treated accordingly: if the filter allows the entry through
602 unaltered, it's treated unaltered; if the filter calls for remapping
603 of fields, then fields are remapped; if the filter calls for
604 explicit exclusion (i.e., the entry matches a
605 .Ql \&-
606 override), the entry is ignored; if the entry doesn't match against any
607 of the filter specifications, it's discarded.
608 .Pp
609 Again, note that the NIS
610 .Ql \&+
611 and
612 .Ql \&-
613 entries themselves are handled in the order in which they were specified
614 in the
615 .Pa /etc/master.passwd
616 file, since doing otherwise would lead to unpredictable behavior.
617 .Pp
618 The end result is that
619 .Dx
620 provides a very close approximation
621 of
622 .Tn SunOS Ns 's
623 behavior while maintaining the database paradigm, though the
624 .Xr getpwent 3
625 functions do behave somewhat differently from their
626 .Tn SunOS
627 counterparts.
628 The primary differences are:
629 .Bl -bullet -offset indent
630 .It
631 Each NIS password map record can be mapped into the password
632 local password space only once.
633 .It
634 The placement of the NIS
635 .Ql \&+
636 and
637 .Ql \&-
638 entries does not necessarily
639 affect where NIS password records will be mapped into
640 the password space.
641 .El
642 .Pp
643 In 99% of all
644 .Dx
645 configurations, NIS client behavior will be
646 indistinguishable from that of
647 .Tn SunOS
648 or other similar systems.
649 Even
650 so, users should be aware of these architectural differences.
651 .Pp
652 .Ss Using groups instead of netgroups for NIS overrides
653 .Dx
654 offers the capability to do override matching based on
655 user groups rather than netgroups.
656 If, for example, an NIS entry
657 is specified as:
658 .Bd -literal -offset indent
659 +@operator:::::::::
660
661 .Ed
662 the system will first try to match users against a netgroup called
663 .Ql operator .
664 If an
665 .Ql operator
666 netgroup doesn't exist, the system
667 will try to match users against the normal
668 .Ql operator
669 group instead.
670 .Ss Changes in behavior from old versions of FreeBSD
671 There have been several bug fixes and improvements in
672 .Fx Ap s
673 NIS/YP handling, some of which have caused changes in behavior.
674 While the behavior changes are generally positive, it is important
675 that users and system administrators be aware of them:
676 .Bl -enum -offset indent
677 .It
678 In
679 .Fx
680 versions prior to 2.0.5, reverse lookups (i.e. using
681 .Fn getpwuid )
682 would not have overrides applied, which is to say that it
683 was possible for
684 .Fn getpwuid
685 to return a login name that
686 .Fn getpwnam
687 would not recognize.
688 This has been fixed: overrides specified
689 in
690 .Pa /etc/master.passwd
691 now apply to all
692 .Xr getpwent 3
693 functions.
694 .It
695 Prior to
696 .Fx 2.0.5 ,
697 netgroup overrides did not work at
698 all, largely because
699 .Fx
700 did not have support for reading
701 netgroups through NIS.
702 Again, this has been fixed, and
703 netgroups can be specified just as in
704 .Tn SunOS
705 and similar NIS-capable
706 systems.
707 .It
708 .Fx
709 now has NIS server capabilities and supports the use
710 of
711 .Pa master.passwd
712 NIS maps in addition to the standard Sixth Edition format
713 .Pa passwd
714 maps.
715 This means that you can specify change, expiration and class
716 information through NIS, provided you use a
717 .Dx
718 or
719 .Fx
720 system as
721 the NIS server.
722 .El
723 .Sh FILES
724 .Bl -tag -width /etc/master.passwd -compact
725 .It Pa /etc/passwd
726 .Tn ASCII
727 password file, with passwords removed
728 .It Pa /etc/pwd.db
729 .Xr db 3 -format
730 password database, with passwords removed
731 .It Pa /etc/master.passwd
732 .Tn ASCII
733 password file, with passwords intact
734 .It Pa /etc/spwd.db
735 .Xr db 3 -format
736 password database, with passwords intact
737 .El
738 .Sh SEE ALSO
739 .Xr chpass 1 ,
740 .Xr login 1 ,
741 .Xr passwd 1 ,
742 .Xr getpwent 3 ,
743 .Xr login_getclass 3 ,
744 .Xr login.conf 5 ,
745 .Xr adduser 8 ,
746 .Xr pw 8 ,
747 .Xr pwd_mkdb 8 ,
748 .Xr vipw 8 ,
749 .Xr yp 8
750 .Sh BUGS
751 User information should (and eventually will) be stored elsewhere.
752 .Pp
753 The YP/NIS password database makes encrypted passwords visible to
754 ordinary users, thus making password cracking easier unless you use
755 shadow passwords with the
756 .Pa master.passwd
757 maps and
758 .Dx Ns 's
759 .Xr ypserv 8
760 server.
761 .Pp
762 Unless you're using
763 .Dx Ns 's
764 .Xr ypserv 8 ,
765 which supports the use of
766 .Pa master.passwd
767 type maps,
768 the YP/NIS password database will be in old-style (Sixth Edition) format,
769 which means that site-wide values for user login class, password
770 expiration date, and other fields present in the current format
771 will not be available when a
772 .Dx
773 system is used as a client with
774 a standard NIS server.
775 .Sh COMPATIBILITY
776 The password file format has changed since
777 .Bx 4.3 .
778 The following awk script can be used to convert your old-style password
779 file into a new style password file.
780 The additional fields
781 .Dq class ,
782 .Dq change
783 and
784 .Dq expire
785 are added, but are turned off by default.
786 These fields can then be set using
787 .Xr vipw 8
788 or
789 .Xr pw 8 .
790 .Bd -literal -offset indent
791 BEGIN { FS = ":"}
792 { print $1 ":" $2 ":" $3 ":" $4 "::0:0:" $5 ":" $6 ":" $7 }
793 .Ed
794 .Sh HISTORY
795 A
796 .Nm
797 file format appeared in
798 .At v6 .
799 The YP/NIS functionality is modeled after
800 .Tn SunOS
801 and first appeared in
802 .Fx 1.1 .
803 The override capability was new in
804 .Fx 2.0 .
805 The override capability was updated to properly support netgroups
806 in
807 .Fx 2.0.5 .
808 Support for comments first appeared in
809 .Fx 3.0 .