Questions fréquentes propres au module Scribe

Délai expiré avec un client FTP graphique

L'accès FTP se fait bien avec l'application web Ajaxplorer 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.

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.

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"

En mode non conteneur il faut :

  • récupérer le nouveau mot de passe MySQL :

    # grep password /etc/mysql/debian.cnf

  • se connecter à la console MySQL :

    # mysqld_safe --skip-grant-tables & mysql -u root mysql

  • mettre à jour le mot de passe :

    UPDATE user SET Password=PASSWORD('MOT_DE_PASSE_RECUPERE_AVEC_GREP') WHERE User='debian-sys-maint' ;

    FLUSH PRIVILEGES ;

  • quitter la console :

    \quit ou Ctrl + d

  • relancer MySQL :

    # killall mysqld

    attendre quelques secondes

    # service mysql start

En mode conteneur il faut :

  • se connecter au conteneur bdd :

    # ssh bdd

  • récupérer le nouveau mot de passe MySQL :

    # grep password /etc/mysql/debian.cnf

  • se connecter à la console MySQL :

    # mysqld_safe --skip-grant-tables & mysql -u root mysql

  • mettre à jour le mot de passe :

    UPDATE user SET Password=PASSWORD('MOT_DE_PASSE_RECUPERE_AVEC_GREP') WHERE User='debian-sys-maint' ;

    FLUSH PRIVILEGES ;

  • quitter la console :

    \quit ou Ctrl + d

  • relancer MySQL :

    # killall mysqld

    attendre quelques secondes

    # service mysql start

  • quitter le conteneur :

    # exit ou Ctrl + d

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

Modifier le mot de passe d'un utilisateur en ligne de commande

Le mot de passe d'un utilisateur LDAP peut être modifié en ligne de commande avec la commande smbldap-passwd.

Exemple

# smbldap-passwd <user>

Changing UNIX and samba passwords for <user>

New password:

Retype new password:

#

Impossible de trouver ClientScribe & ClientHorus

La commande apt-eole install client-scribe renvoie le message "le paquet n'existe pas".

Truc & astuce

ClientScribe & ClientHorus étaient une expérimentation de client lourd pour GNU Linux sur la version EOLE 2.2 mais qu'elle n'a pas été poursuivie.

Les paquets client-scribe et client-horus n'existent plus.

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-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 : FichierImporter une Configuration/etc/eole/config.eol ;

  • modifier la valeur de l'identifiant de l'établissement ;

  • enregistrer la configuration : FichierEnregistrer 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.