Modifications entre les versions 5 et 16 (s'étendant sur 11 versions)
Version 5 à la date du 2006-12-06 11:32:07
Taille: 1502
Éditeur: JérômeSantini
Commentaire: test dans le centre de ressource
Version 16 à la date du 2006-12-11 17:17:54
Taille: 3432
Éditeur: JérômeSantini
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
= Création base de donneés = ## page was renamed from Tini/Notes/NssCnf
= Création de la base de données =
Ligne 35: Ligne 36:
= Test = 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)
Ligne 37: Ligne 38:
 * 4 machines dans le centre de ressources (configuration manuelle) = Test =
Ligne 39: Ligne 40:
= Actions suivantes =  * 8 machines dans le centre de ressources
 * les 3 machines cheikh, balla, zoser (configuration via auf-auth-mysql)
 * 10 machines infotèhe
 * sur nfs.refer.sn lui-même
 * suivi du nombre de connexion mysql simultanées sur http://bao.sn.auf/cgi-bin/grapher.cgi?target=/serveurs/nfs/mysql;view=mysql;ranges=d:w:m:y
Ligne 41: Ligne 46:
 * créer un auf-auth-msql pour remplacer le auf-auth-mysql : tester sur les machines du CDR = 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 {{{chmod u+s /bin/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 à debian/ubuntu
 * Faire un {{{chmod u+s /bin/unix_chkpwd}}} avec dpkg-stateoverride
Ligne 43: Ligne 85:
 * documenter une fois que ça tourne bien : LibNssMysql

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 à [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.

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 chmod u+s /bin/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 à debian/ubuntu
  • Faire un chmod u+s /bin/unix_chkpwd avec dpkg-stateoverride

  • 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)