Questions fréquentes propres au module Scribe
- Le test de la base de données Samba signale des erreurs
- Relancer la génération du conteneur addc
- Modifier le mot de passe d'un utilisateur en ligne de commande
- Comment effectuer un changement de nom de domaine académique
- Comment effectuer un changement de nom de domaine de messagerie
- Comment effectuer un changement de nom du serveur de fichier
- Comment effectuer un changement de l'identifiant de l'établissement (UAI)
- Erreur MySQL : Access denied for user 'debian-sys-maint'@'localhost'
- Erreur MySQL : Too many connections
- Délai expiré avec un client FTP graphique
- Importation : le caractère "c" s'est ajouté devant le nom d'une classe
Le test de la base de données Samba signale des erreurs
À partir d'EOLE 2.8.1, la base de données Samba du serveur Active Directory est vérifiée toutes les nuits à l'aide de la commande samba-tool dbcheck.
Le résultat de ce test est consultable à l'aide de la commande diagnose
:
Il apparaît également dans l'agent Zéphir du serveur :
Exemple
Sur les modules Scribe et AmonEcole, le serveur AD est dans le conteneur addc
.
Il est possible de ré-exécuter le test à l'aide de la commande : ssh addc "samba-tool dbcheck".
La commande ssh addc "samba-tool dbcheck --fix --yes" permettra de résoudre le problème dans la majorité des cas.
Truc & astuce
Une fois l'erreur résolue, les rapports peuvent être re-générées à l'aide de la commande suivante :
/usr/share/eole/sbin/run_samba_tool_dbcheck
Relancer la génération du conteneur addc
Exemple
root@scribe:~# lxc-stop -n addc
root@scribe:~# lxc-destroy -n addc
root@scribe:~# instance
Il est évidemment recommandé de ne pas exécuter ces commandes sur un serveur déjà en production !
Modifier le mot de passe d'un utilisateur en ligne de commande
Le mot de passe d'un utilisateur peut être modifié en ligne de commande avec la commande changepasswordeole.pl
.
Exemple
# changepasswordeole.pl
Usage: /usr/sbin/changepasswordeole.pl [user] [password] [changePwd]
Remarque
Si la commande échoue avec un message qui ressemble au suivant, vérifier que le mot de passe proposé respecte la politique de sécurité mise en place sur le serveur AD :
Unable to modify unicodePwd for CN=admin,CN=Users,DC=domscribe,DC=ac-test,DC=fr (0000052D: Constraint violation - check_password_restrictions: the password does not meet the complexity criteria!)
Comment effectuer un changement de nom de domaine académique
Le changement du nom de domaine académique entraîne un dysfonctionnement de l'annuaire LDAP car la construction de l'annuaire utilise cette valeur et n'a lieu qu'une fois au moment de l'instance.
Pour connaître le nom de domaine utilisé dans l'annuaire :
# slapcat -f /etc/ldap/slapd.conf -o ldif-wrap=no | grep -E 'dn: ou=[^,]+,ou=education'
Le nom utilisé ici est ac-test
:
dn: ou=ac-test,ou=education,o=gouv,c=fr
Le nom de domaine Nom de domaine académique
se change dans l'interface de configuration du module dans l'onglet Général
.
Le suffixe peut être changé dans le même onglet à la ligne Suffixe du nom de domaine académique
.
Pour connaître la valeur de ces variables en ligne de commande :
# CreoleGet nom_academie
ac-test
# CreoleGet suffixe_domaine_academique
fr
Truc & astuce
La solution consiste à extraire l'annuaire, à faire la modification souhaitée dans tous le .ldif
, puis à injecter l'annuaire modifié.
Truc & astuce
Extraire l’annuaire :
Arrêt du service
# service slapd stop
Extraction vers ~root/full-ldap-old.ldif
:
# slapcat -f /etc/ldap/slapd.conf -o ldif-wrap=no > ~root/full-ldap-old.ldif
Truc & astuce
Remplacer toutes les occurrences de ou=ac-test par ou=ac-dijon et toutes les occurrences de ou : ac-test par ou : ac-dijon avec la commande :
# sed -e 's/ou=ac-test,/ou=ac-dijon,/g' -e 's/ou: ac-test,/ou=ac-dijon,/g' ~root/full-ldap-old.ldif > ~root/full-ldap-fixed.ldif
Truc & astuce
Vérifier l'absence (hors messagerie -i) de la chaîne ac-test dans le nouveau fichier :
# grep 'ac-test' ~root/full-ldap-fixed.ldif
Injection du nouvel annuaire avec les commandes suivantes :
Supprimer les anciens fichiers d'annuaire, sauf le fichier
/var/lib/ldap/DB_CONFIG
# rm -f /var/lib/ldap/[^D]*
Injecter l'annuaire corrigé
# slapadd -f /etc/ldap/slapd.conf -l ~root/full-ldap-fixed.ldif
-######### 47.59% eta 04s elapsed 03s spd 307.1 k/s
Closing DB...
Corriger le propriétaire des fichiers de la base de données
# chown -R openldap: /var/lib/ldap/
Redémarrer l'annuaire
# service slapd start
Truc & astuce
Vérifier le bon fonctionnement du service avec la commande diagnose.
Comment effectuer un changement de nom de domaine de messagerie
Le nom de domaine de la messagerie pour les listes de discussions avant changement :
# ll $(CreoleGet container_path_mail)/var/lib/sympa/expl/
total 12drwxrwx--x 3 sympa sympa 4096 janv. 28 01:26 ./drwxrwx--x 8 sympa sympa 4096 janv. 15 20:11 ../
drwxr-xr-x 53 sympa sympa 4096 févr. 2 01:57 i-etb1.ac-test.fr/
La valeur du nom de domaine de la messagerie est ici etb1.ac-test.fr
:
root@scribe:~# CreoleGet domaine_messagerie_etab
etb1.ac-test.fr
Truc & astuce
Pour changer le nom de domaine de la messagerie il est possible d'utiliser le script /usr/share/eole/backend/migre-domaine-messagerie.sh
:
# /usr/share/eole/backend/migre-domaine-messagerie.sh etb1.ac-test.fr etb1.ac-dijon.fr
Migrer de etb1.ac-test.fr vers etb1.ac-dijon.fr [oui/non]
[non] : oui
# Sauvegarde de l'annuaire dans /root/annuaire-20160202.ldif...
Stop System V service slapd [ OK ]
# Modification de l'annuaire...
"#################### 100.00% eta none elapsed 06s spd 326.7 k/s
Closing DB...
Start System V service slapd [ OK ]
# Migration des configurations sympa...
# Migration des alias Exim4...
Migration terminée : modifiez la variable "Nom de domaine de la messagerie"
puis lancez la commande *reconfigure*
Truc & astuce
Comme indiqué il faut changer le Nom de domaine de la messagerie
dans l'onglet Messagerie
de l'interface de configuration du module.
Il est également possible de le faire en ligne de commande avec CreoleSet
:
# CreoleSet domaine_messagerie_etab etb1.ac-dijon.fr
Pour vérifier la valeur de la variable :
# CreoleGet domaine_messagerie_etab
etb1.ac-dijon.fr
Attention
Le changement du nom de domaine de la messagerie nécessite une reconfiguration du serveur avec la commande reconfigure
.
Le nom de domaine de la messagerie pour les listes de discussions est devenu i-etb1.ac-dijon.fr
:
# ll $(CreoleGet container_path_mail)/var/lib/sympa/expl/
total 12drwxrwx--x 3 sympa sympa 4096 févr. 2 15:49 ./drwxrwx--x 8 sympa sympa 4096 janv. 15 20:11 ../drwxr-xr-x 53 sympa sympa 4096 févr. 2 01:57 i-etb1.ac-dijon.fr/
Comment effectuer un changement de nom du serveur de fichier
Le changement du nom du contrôleur de domaine et/ou du nom du domaine Samba entraîne un dysfonctionnement de l'annuaire LDAP car la construction de l'annuaire utilise cette valeur et n'a lieu qu'une fois au moment de l'instance.
Pour connaître le nom du domaine Samba utilisé dans l'annuaire :
# slapcat -f /etc/ldap/slapd.conf -o ldif-wrap=no | grep "^sambaDomainName"
Le nom utilisé ici est dompedago
:
sambaDomainName: dompedago
Pour connaître le nom du contrôleur de domaine utilisé dans l'annuaire :
# slapcat -f /etc/ldap/slapd.conf -o ldif-wrap=no | grep -m1 'sambaShareURI'
Le nom utilisé ici est scribe
:
sambaShareURI: \\scribe\icones$
Le nom du contrôleur de domaine et le nom du domaine Samba sont configurés dans l'interface de configuration du module dans l'onglet Samba
.
Pour connaître la valeur de ces variables en ligne de commande :
# CreoleGet smb_netbios_name
scribe
# CreoleGet smb_workgroup
dompedago
Truc & astuce
La solution consiste à extraire l'annuaire, à faire la modification souhaitée dans tous le .ldif
, puis à injecter l'annuaire modifié.
Truc & astuce
Extraire l’annuaire après arrêt du service :
Arrêt du service
# service slapd stop
Extraction vers ~root/full-ldap-old.ldif
:
# slapcat -f /etc/ldap/slapd.conf -o ldif-wrap=no > ~root/full-ldap-old.ldif
Truc & astuce
Remplacer toutes les occurrences de scribe par nomnetbios avec la commande :
# sed -e 's/\\\\scribe\\/\\\\nomnetbios\\/g' ~root/full-ldap-old.ldif > ~root/full-ldap-partiallyprefixed.ldif
# sed -e 's/\/\/scribe\//\/\/nomnetbios\//g' ~root/full-ldap-partiallyprefixed.ldif > ~root/full-ldap-prefixed.ldif
Truc & astuce
Remplacer toutes les occurrences de dompedago par nomworkgroup avec la commande :
# sed -e 's/=dompedago,/=nomworkgroup,/g' -e 's/sambaDomainName: dompedago/sambaDomainName: nomworkgroup/g' ~root/full-ldap-prefixed.ldif > ~root/full-ldap-fixed.ldif
Truc & astuce
Vérifier l'absence (hors messagerie -i) de la chaîne ac-test dans le nouveau fichier :
# grep 'scribe' ~root/full-ldap-prefixed.ldif
Injection du nouvel annuaire avec les commandes suivantes :
Supprimer les anciens fichiers d'annuaire, sauf le fichier
/var/lib/ldap/DB_CONFIG
# rm -f /var/lib/ldap/[^D]*
Injecter l'annuaire corrigé
# slapadd -f /etc/ldap/slapd.conf -l ~root/full-ldap-prefixed.ldif
-######### 47.59% eta 04s elapsed 03s spd 307.1 k/s
Closing DB...
Corriger le propriétaire des fichiers de la base de données
# chown -R openldap: /var/lib/ldap/
Redémarrer l'annuaire
# service slapd start
Truc & astuce
Vider le cache de Samba :
# net cache flush
Si cela ne suffit pas il faut supprimer les fichiers /var/lib/samba/wins.dat
et /var/cache/samba/browse.dat
:
# service samba stop
# rm -f /var/lib/samba/wins.dat /var/cache/samba/browse.dat
# service samba start
Truc & astuce
Vérifier le bon fonctionnement du service avec la commande diagnose.
Comment effectuer un changement de l'identifiant de l'établissement (UAI)
L'identifiant de l'établissement est une valeur verrouillée dans l'interface de configuration une fois le serveur instancié.
Il est vivement recommandé de ne pas éditer manuellement le fichier config.eol
pour éviter les erreurs de frappe ou de type de données.
Truc & astuce
Exporter puis importer le fichier de configuration courant permet de passer outre le verrouillage des variables.
Attention
Cette astuce demande une bonne maîtrise des implications que peut avoir le changement d'une valeur verrouillée. Et une valeur n'est jamais verrouillée sans raison.
Par exemple, le changement de l'identifiant de l'établissement ne se répercute pas sur l'annuaire dont le schéma n'est construit qu'une fois au moment de l'instance du serveur.
Exemple
Pour modifier la valeur verrouillée Identifiant de l'établissement
:
ouvrir l'interface de configuration du module ;
importer le fichier de configuration courant :
Fichier
→Importer une Configuration
→/etc/eole/config.eol
;modifier la valeur de l'identifiant de l'établissement ;
enregistrer la configuration :
Fichier
→Enregistrer la configuration
;procéder à une reconfiguration du serveur à l'aide de la commande
reconfigure
.
Le changement de l'identifiant de l'établissement (UAI) entraîne un dysfonctionnement de l'annuaire LDAP car la construction de l'annuaire utilise cette valeur et n'a lieu qu'une fois au moment de l'instance.
Pour connaître l'identifiant utilisé dans l'annuaire :
# slapcat -f /etc/ldap/slapd.conf -o ldif-wrap=no | grep "cn=edu"
L'UAI utilisé ici est 0000000A
:
dn: cn=edu,ou=local,ou=groupes,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr
L'UAI est configuré dans l'interface de configuration du module dans l'onglet Général
.
Pour connaître la valeur de cette variable en ligne de commande :
# CreoleGet numero_etab
0000000A
Truc & astuce
La solution consiste à extraire l'annuaire, à faire la modification souhaitée dans tous le .ldif
, puis à injecter l'annuaire modifié.
Truc & astuce
Extraire l’annuaire après arrêt du service :
Arrêt du service
# service slapd stop
Extraction vers ~root/full-ldap-old.ldif
:
# slapcat -f /etc/ldap/slapd.conf -o ldif-wrap=no > ~root/full-ldap-old.ldif
Truc & astuce
Remplacer toutes les occurrences de 0000000A par 0000000B avec la commande :
# sed -e 's/ou=0000000A/ou=0000000B/g' -e 's/ou: 0000000A/ou: 0000000B/g' ~root/full-ldap-old.ldif > ~root/full-ldap-prefixed.ldif
Truc & astuce
Vérifier l'absence de la chaîne 0000000A dans le nouveau fichier :
# grep '0000000A' ~root/full-ldap-prefixed.ldif
Injection du nouvel annuaire avec les commandes suivantes :
Supprimer les anciens fichiers d'annuaire, sauf le fichier
/var/lib/ldap/DB_CONFIG
# rm -f /var/lib/ldap/[^D]*
Injecter l'annuaire corrigé
# slapadd -f /etc/ldap/slapd.conf -l ~root/full-ldap-prefixed.ldif
-######### 47.59% eta 04s elapsed 03s spd 307.1 k/s
Closing DB...
Corriger le propriétaire des fichiers de la base de données
# chown -R openldap: /var/lib/ldap/
Redémarrer l'annuaire
# service slapd start
Procéder à la reconfiguration du serveur pour la prise en compte du changement de la valeur de l'identifiant dans l'interface de configuration du module.
Truc & astuce
Vérifier le bon fonctionnement du service avec la commande diagnose.
Erreur MySQL : Access denied for user 'debian-sys-maint'@'localhost'
Suite à une restauration ou à une migration il est possible de rencontrer l'erreur suivante :
ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)
Truc & astuceIl faut remettre à jour le mot de passe de l'utilisateur MySQL "debian-sys-maint"
récupérer le nouveau mot de passe MySQL :
# grep password /etc/mysql/debian.cnf
Sur une première console, lancer MySQL en mode safe :
# mysqld_safe --skip-grant-tables
Sur une seconde console, se connecter à la base :
# mysql -u root mysql
mettre à jour le mot de passe :
UPDATE user SET authentication_string=PASSWORD('MOT_DE_PASSE_RECUPERE_AVEC_GREP') WHERE User='debian-sys-maint' ;
FLUSH PRIVILEGES ;
quitter la console :
\quit
ouCtrl + d
relancer MySQL :
# killall mysqld
attendre quelques secondes
# service mysql start
Erreur MySQL : Too many connections
Le nombre de connexions clientes maximum simultanées à la base de données MySQL est atteint.
Truc & astuceAugmenter le paramètre mysql_max_connexions
Dans l'interface de configuration du module, en mode expert, aller dans l'onglet Mysql
et adapter le Nombre maximum de connexions simultanées
aux usages constatés.
Lancer la commande reconfigure
pour appliquer le nouveau réglage.
Délai expiré avec un client FTP graphique
L'accès FTP se fait bien avec l'application web Pydio et en console mais impossible de se connecter avec un client graphique comme Filezilla ou gFTP. Un message de délai expiré apparaît :
Connexion terminée par expiration du délai d'attente
Truc & astucePasser le client FTP en mode actif
Les clients FTP sont par défaut configurés en mode passif. Les passer en mode actif résout le problème.
Importation : le caractère "c" s'est ajouté devant le nom d'une classe
Lors d'une importation, le caractère un "c" s'est ajouté devant le nom de la classe.
Truc & astuce
Les causes d'un renommage sont généralement les suivantes :
- le nom du groupe est totalement numérique (ex :
301
pour 3eme1) ; - il existe une homonymie au niveau des groupes (ex : niveau et classe dénommés
6g
).