From 32935ef03767814ef54c4c1905e00e320261c67c Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Tue, 3 Jul 2018 21:38:08 +0000 Subject: Add some documentation --- doc/index.html | 59 +++++++++++++++---- doc/libnsss/index.html | 134 +++++++++++++++++++++++++++++++------------ doc/libnsss/nsss-switch.html | 29 ++++++++++ doc/libnsss/nsss-unix.html | 29 ++++++++++ doc/libnsssd/index.html | 102 ++++++++++++++++++++++++++++++++ doc/nsssd-nslcd.html | 85 +++++++++++++++++++++++++++ doc/nsssd-unix.html | 88 ++++++++++++++++++++++++++++ doc/overview.html | 101 +++++++++++++++++++++++++++++++- 8 files changed, 579 insertions(+), 48 deletions(-) create mode 100644 doc/libnsss/nsss-switch.html create mode 100644 doc/libnsss/nsss-unix.html create mode 100644 doc/libnsssd/index.html create mode 100644 doc/nsssd-nslcd.html create mode 100644 doc/nsssd-unix.html diff --git a/doc/index.html b/doc/index.html index 49cf697..d4b7861 100644 --- a/doc/index.html +++ b/doc/index.html @@ -31,20 +31,32 @@ function is provided by the system's libc. However, not all libcs implement a configurable backend for the user/group database. For instance the musl libc, on Linux, only supports the standard /etc/passwd mechanism; it also supports the -nscd protocol but this is not quite enough to implement the -full set of database access functions with certain backends (such as a -LDAP server). +nscd protocol but this is not quite enough: +

+ +

+ +

+ The mechanism used by glibc, called Name Service Switch +(abbreviated to nsswitch or NSS), has its own +set of issues that makes it unsuitable +in certain situations.

- nsss is a secure implementation of configurable user/group/shadow -database access, providing getpwnam() et al. functionality -by communicating over a Unix domain socket with a daemon; the daemon -can perform lookups in any database it chooses. + nsss is a secure implementation of a "name service switch": +configurable user/group/shadow database access, providing getpwnam() +et al. functionality by communicating over a Unix domain socket with a daemon; +the daemon can perform lookups in any database it chooses.

- Unlike NSS, nsss does not perform dynamic module + nsss does not perform dynamic module loading, only adds a small footprint to the application's binary, and does not add any complex decision engine into the client's address space. Applications can be statically linked against the nsss @@ -55,7 +67,8 @@ functions.



@@ -71,6 +84,10 @@ functions. 2.6.5.0 or later. It's a build-time requirement. It's also a run-time requirement if you link against the shared version of the skalibs library. +
  • s6 version +2.7.1.1 or later. It's a run-time requirement only, to run +the nsssd service (and can be done without if you have a suitable replacement +for s6-ipcserver).
  • Licensing

    @@ -112,14 +129,32 @@ the previous versions of nsss and the current one.

    Commands

    +

    + The following commands are not meant to be directly invoked on the +command-line. They are meant to be used behind a Unix domain socket +super-server such as +s6-ipcserver +in order to provide a +local service. +Depending on the chosen command, the service will provide a different +backend to the name service. +

    + +

    + Future versions of nsss will come with more backends. +

    +

    Libraries


    diff --git a/doc/libnsss/index.html b/doc/libnsss/index.html index 0307725..ac99e54 100644 --- a/doc/libnsss/index.html +++ b/doc/libnsss/index.html @@ -21,23 +21,100 @@

    General information

    - libnsss is a client library meant to be used by client -programs needing utmp functionality. It interacts with various -server-side daemons such as -nsssd-unix. + libnsss is the generic name for the nsss client library. +This library is made of several parts: +

    + +