Translations of this page:

NSS avec PostgreSQL

NSS permet aux utilisateurs stockés dans la base de données VHFFS d’être reconnus par le système, ce sont ainsi des utilisateurs unix standard. Cela permet par exemple, d’autoriser leur connexion par ssh lorsqu’ils désireront se connecter au serveur cvs ou alors, de pouvoir reconnaître leurs fichiers avec le serveur FTP pure-ftpd.

Installation :

  • Installez les paquets debian
aptitude install libnss-pgsql1 nscd
libnss-pgsql a quelques bugs qui empêchent son bon fonctionnement. D’où l’obligation d’utiliser nscd, sinon, les utilisateurs de vhffs ne peuvent se connecter à la machine avec ssh.

Une alternative consiste à configurer nss avec sqlite.

  • Créez le fichier de configuration :
cp /usr/share/doc/libnss-pgsql1/examples/nss-pgsql.conf /etc/nss-pgsql.conf

puis éditez le fichier /etc/nss-pgsql.conf comme suit :

# example configfile for PostgreSQL NSS module

# these are entries as used with the BOFHMS tool (sf.net/projects/bofhms)
host            = localhost
port            = 5432
database        = vhffs
login           = vhffs
passwd          = *******
passwdtable     = vhffs_shadow
grouptable      = vhffs_groups

# you can use anything postgres accepts as table expression
groupmembertable = vhffs_passwd JOIN vhffs_user_group ON vhffs_passwd.uid=vhffs_user_group.uid JOIN vhffs_groups
ON vhffs_groups.gid=vhffs_user_group.gid

passwd_name     = username
passwd_passwd   = passwd
passwd_uid      = uid
passwd_dir      = homedir
passwd_shell    = shell

passwd_gecos    = username
passwd_gid      = gid
group_name      = groupname
group_passwd    = passwd
group_gid       = gid
group_member    = username

queryids = SELECT ug.gid FROM vhffs_passwd p INNER JOIN vhffs_user_group ug ON ug.uid = p.uid WHERE p.username = '%s' AND ug.gid != %d
querypasswd = SELECT username, passwd, uid, gid, username, homedir, shell FROM vhffs_passwd
querygroup = SELECT groupname, passwd, gid FROM vhffs_groups
querymembers = SELECT u.username FROM vhffs_users u INNER JOIN vhffs_user_group ug ON ug.uid = u.uid WHERE ug.gid = %d 

puis éditez le fichier /etc/nsswitch.conf et modifiez les lignes :

passwd:         compat  pgsql
group:          compat  pgsql
shadow:         compat  pgsql

Pour tester les utilisateurs Vhffs:

getent group
id username
fr/doc/guide/nss-posgresql.txt · Last modified: 2008/08/05 18:19 by bm415
Recent changes RSS feed Creative Commons License Donate Driven by DokuWiki