Questions fréquentes propres au module Horus

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:

#

Session Windows, configuration non appliquée et messages d'erreurs

L'utilisateur ouvre une session, la configuration ESU n'est pas appliquée et l'utilisateur obtient des erreurs.

Truc & astuce

Après un démarrage du poste, lorsque Windows 10 affiche l'invite d'ouverture de session, il est possible que le service Scribe n'ait pas fini de démarrer.

Avant de démarrer une session il faut bien attendre que Windows 10 ait fini de démarrer.

Il est possible de démarrer les stations à l'avance le matin (comme pour WPKG) avec WOL[1] avec par exemple le logiciel ecoStations.

Session Windows, erreur : Aucun serveur d'accès n'est actuellement disponible...

Les utilisateurs ne peuvent pas se connecter sur un poste Windows 10 intégré au domaine et le message d'erreur Aucun serveur d'accès n'est actuellement disponible pour traiter la demande d'ouverture de session s'affiche.

Truc & astuce

La station Windows 10 a été intégrée manuellement sans exécuter les commandes, utilisez le script Win10.bat en tant qu'Administrateur à l'aide d'un clic droit sur Win10.bat → Exécuter en tant qu'Administrateur.

Session Windows, erreur : Une tentative d'ouverture de session a eu lieu...

Lors de la tentative d'ouverture de session d'une machine équipée de Windows 10, raccordée au domaine, le message suivant s'affiche :

Une tentative d'ouverture de session a eu lieu alors que le service d'ouverture de session réseau n'avait pas démarré.

La version de Windows est supérieure ou égale à Windows 10 1709.

Truc & astuce

Il faut activer le support le Support de partage de fichiers SMB 1.0/CIFS dans la gestion des fonctionnalités de Windows.

Truc & astuce

Sur un module EOLE à jour, l'activation du support de partage de fichiers SMB 1.0/CIFS est réalisée automatiquement par JoinEOLE et sa commande d'activation a été ajoutée au script Win10.bat.

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

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.

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

  • 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 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 authentication_string=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

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.