alternative /etc/passwd formats (was: Corrupted passwd file woes)

Guy Harris guy at auspex.auspex.com
Tue Sep 18 04:26:57 AEST 1990


>Well, when I started Uni in '84 we had a couple of PDP11/70s and
>a couple of VAXen running a heavily hacked V7 UNIX. /etc/passwd
>was an autolocking binary file, and libc had been modified to
>know about it... Worked like a charm. Fast. Of course you
>couldn't grep /etc/passwd for stuff,

4.3BSD and later have a similar approach; the difference is that
"/etc/passwd" is *still* a text file, that you can *still* grep, but the
password file that "getpwnam()" and "getpwuid()" get entries from is an
"ndbm" database file.  "vipw" (a misnamed program, it doesn't shove "vi"
down your throat) will rebuild the "dbm" database if you change the
password file with it.

>We currently have about 180 Apollos with 3122 accounts listed.
>The Apollos use a loosely coupled database for account information
>and /etc/passwd is a special file supported by a subsystem which
>generates a standard looking file when you open it for read.

So did they modify "getpwnam()" and "getpwuid()" to talk directly to the
registry, or do they still grovel through said special file?

A similar approach is provided by Sun's NIS and Project Athena's Hesiod,
with a server (an NIS, formerly YP, server in the former case, and an
Internet Domain Name Server such as BIND in the latter case) to which
you send queries.  Both of those make direct queries for "getpwnam()"
and "getpwuid()", rather than fetching every entry from the server and
checking each one.



More information about the Comp.unix.admin mailing list