Blob Blame History Raw
NSS altfiles module

This is a NSS module which can read user information from files
in the same format as `/etc/passwd` and `/etc/group` stored in an
alternate location (`/lib` by default).

Essentially, it is a tweaked copy of the sources for the NSS
`files` module included with [eglibc]( It
should work with [glibc2](
as well.


List the module the `/etc/nsswitch.conf` configuration file.
For example:

    passwd: files altfiles
    group:  files altfiles

    # Other entries follow...

This will try to read files from `/etc` first, and under
`/lib` (using the `altfiles` module). Modifications will be
stored in the files under `/etc` (e.g. when using `passwd`
to change an user passwords).


The usual `./configure && make && make install` dance will
work. The `configure` script allows to change the install
path and the path to the alternative data files:

    ./configure --prefix=/installdir/path --datadir=/var

The example above would build an `altfiles` NSS module that
will read user information from `/var/passwd` and `/var/group`,
which is to be installed under `/installdir/path/lib`.

To ease the task of packagers, the `DESTDIR` variable can
be passed to `make`:

    make install DESTDIR=/tmp/fakerootdir

Version scheme

Version numbers follow the numbering of the eglibc releases,
adding a local revision number: `<eglibc version>.<revision>`.
For example version `2.13.0` would contain the source files
from eglibc 2.13, and the base modifications to make it the
`altfiles` module; version `2.15.3` would contain the source
files from eglibc 2.15, and the base modifications plus three

Git tags do also follow this versioning.


As eglibc is distributed under the terms of the LGPL 2.1, the
same applies to the extra bits needed to make `nss_altfiles`

See the COPYING file in the source directory for the full
text of the license.