1673
Commentaire: configuration du shell utilsateur
|
3474
|
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 39: | Ligne 40: |
* 4 machines dans le centre de ressources (configuration manuelle) | * 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 = 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. comment le faire proprement de la "debian way" ? pas trouvé de dpkg-divert-perm * patcher libnss-mysql-bg : gmrpfl, un package de plus à gérer * une autre idée ? |
Ligne 43: | Ligne 82: |
* créer un auf-auth-msql pour remplacer le auf-auth-mysql : tester sur les machines du CDR | * signaler le bug à debian/ubuntu * faire un package patché sans le test en attendant |
Ligne 45: | 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
- 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
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. comment le faire proprement de la "debian way" ? pas trouvé de dpkg-divert-perm
- patcher libnss-mysql-bg : gmrpfl, un package de plus à gérer
- une autre idée ?
Actions suivantes
- signaler le bug à debian/ubuntu
- faire un package patché sans le test en attendant
- 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