Modifications entre les versions 18 et 19
Version 18 à la date du 2008-01-16 11:17:04
Taille: 3549
Commentaire: c'est malheureusement toujours indispensable avec Gutsy...
Version 19 à la date du 2008-02-21 22:10:04
Taille: 3553
Éditeur: localhost
Commentaire: converted to 1.6 markup
Texte supprimé. Texte ajouté.
Ligne 34: Ligne 34:
modification de admincomptes pour insérer des appels à [http://trac.sn.auf.org/guia/browser/contrib/migrations/auth-sql/import-passwd import-passwd] aux endroits appropriés. cf. [http://trac.sn.auf.org/guia/browser/contrib/migrations/auth-sql/LISZEMOI.txt LISEZMOI.txt] pour l'utilisation du machin. modification de admincomptes pour insérer des appels à [[http://trac.sn.auf.org/guia/browser/contrib/migrations/auth-sql/import-passwd|import-passwd]] aux endroits appropriés. cf. [[http://trac.sn.auf.org/guia/browser/contrib/migrations/auth-sql/LISZEMOI.txt|LISEZMOI.txt]] pour l'utilisation du machin.

Création de la base de données

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 4.0.24_Debian-10sarge2-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database authnss;
Query OK, 1 row affected (0.02 sec)

mysql> grant select on authnss.* to nssroot@'%' identified by 'xxxxx';
Query OK, 0 rows affected (0.00 sec)

mysql> use authnss;
Database changed
mysql> source /root/auth.sql
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

Modifs du /etc/mysql/my.cnf ::

  • écouter sur le réseau
  • activer log /var/log/mysql/mysql.log (à supprimer qd debug terminé)
  • virer /var/log/mysql/mysql-bin.log
  • set-variable=wait_timeout=10

Synchro /etc/{passwd,shadow} avec mysql

modification de admincomptes pour insérer des appels à import-passwd aux endroits appropriés. cf. LISEZMOI.txt pour l'utilisation du machin.

note : le shell est configuré en statique à /bin/bash sur les postes clients. Et pris dans la colonne shell pour les serveurs. (reprise 1:1 du schéma nis)

Test

Sale problème de merde qui pue

dans la fonction "lookup" de libnss-mysql-bg :

  cur_euid = geteuid ();
  D ("%s: restricted = %d, cur_euid = %u", FUNCNAME, restricted, cur_euid);
  if (restricted == ntrue && cur_euid != 0)
    DSRETURN (NSS_NOTFOUND)

et dans le getspnam :

#ifdef HAVE_NSS_H
  retVal = _nss_mysql_lookup (BYNAME, name, 0, conf.sql.query.getspnam,
                              ntrue, result, buffer, buflen, errnop,
                              _nss_mysql_load_shadow, &mresult, FUNCNAME);
#else
  retVal = _nss_mysql_lookup (BYNAME, NSS_ARGS(args)->key.name, 0,
                              conf.sql.query.getspnam, ntrue,
                              NSS_ARGS(args)->buf.result,
                              NSS_ARGS(args)->buf.buffer,
                              NSS_ARGS(args)->buf.buflen,
                              &NSS_ARGS(args)->erange,
                              _nss_mysql_load_shadow, &mresult, FUNCNAME);
  if (retVal == NSS_SUCCESS)
    NSS_ARGS(args)->returnval = NSS_ARGS(args)->buf.result;
#endif

résultat, seul root à accés aux mots de passe, les mécanismes "pam/shadow" genre unix_chkpwd sont tous cassés.

  • Faire un sudo chmod u+s /sbin/unix_chkpwd ? booof. avec dpkg-stateoverride

  • patcher libnss-mysql-bg : gmrpfl, un package de plus à gérer
  • une autre idée ?

Actions suivantes

  • signaler le bug à ubuntu/libnss (debian à choisi la même option que pour auf-auth-mysql :

ini@mail-dakar:~$ ls -l /sbin/unix_chkpwd 
-r-sr-xr-x  1 root root 15000 2004-06-28 18:39 /sbin/unix_chkpwd
  • mesurer l'impact sur le serveur mysql, suivre les perfs : en inférer le nbre max de process à configurer
  • documenter une fois que ça tourne bien : LibNssMysql

ZAO/Dakar/Configuration/AuthentificationClients (dernière édition le 2008-02-21 22:10:04 par localhost)