The NSS-MySQL name service switch library

libnss_mysql retrieves user account information from a MySQL database server.
Per default stored in /etc/{group,passwd,shadow} on Unix-like systems. Which
(partly) is similar in functionality to NIS, LDAP, RADIUS, Hesoid, winbindd

When used over a remote-network uttermost care should be taken in the security
of this (such as TLS/SSL encripting the connection) and even then storing any
valid password for such 'virtual' users is probably a bad idee in itself.

Kerberos provides for far superior single-sign-on autentication system (the
'shadow' part in these kinds of systems) both in performance and security.

On to the good stuff :-)
To get this working (locally) login to the database server, presuming that
it is running; otherwise read /etc/rc.d/rc.mysqld first; to make the DB:

# mysql -uroot -p
> CREATE DATABASE nss_mysql;

After this is done it has to be populated with the user tables; there is
an example for them is provided in /usr/doc/nss-mysql-<version>/sample.sql

You can copy that to say /tmp , (probably) edit it some and insert it with:

# mysql -uroot -p -D nss_mysql < /tmp/sample.sql

After this is done create the 'nss' and 'nss-shadow' database users with
statements such as the ones found in /usr/doc/nss-mysql-<version>/SHADOW
And make sure the passwords for them in /etc/nss-{mysql,mysql-root}.conf
are the same ...

Now edit your /etc/nsswitch.conf to look like the -mysql and try the commands

getent passwd
getent shadow

Which should list the users pulled from mysql!
( Otherwise have a look at 'tail /var/log/syslog' - for hints to fix it).

-Menno.
