LDAP éviter le message de validation

L’article Intégration de clients Ubuntu dans un réseau avec LDAP vient d’être mis à jour.

Le problème suivant est résolu :
Lors de la première connexion par gdm, la copie des fichiers du skel renvoie un message de création des fichiers qu’il faut valider. La fenêtre est surdimensionnée et on ne voit plus le bouton valider.

Cédric, un lecteur du blog, a trouvé une solution pour éviter de se retrouver avec le message de confirmation lors de la création des dossiers.
Dans /etc/pam.d/common-session :

sudo gedit /etc/pam.d/common-session
session required pam_unix.so
session optional pam_foreground.so
session required pam_mkhomedir.so skel=/etc/skel umask=0066 silent

La présence de silent permet d’éviter le message de confirmation. Merci à Cédric pour cette trouvaille !

  Les commentaires sont fermés

Un singe au collège

Alors que tout le monde attend frénétiquement l’arrivée de Ubuntu 8.04 Hardy Heron, prévue le mois prochain, les ordinateurs du collège sont mis à jour vers Ubuntu 7.10 Gutsy Gibbon.

Pourquoi avoir attendu jusqu’à maintenant pour faire cette mise à jour alors que la version 7.10 est sortie depuis le le 18 Octobre 2007 ? il faut toujours un peu de temps pour que le script permettant de rejoindre un client Ubuntu au serveur SambaEdu3 soit adapté à une nouvelle version de Ubuntu. Ce script est disponible depuis seulement quelques semaines. De plus, en cas de problèmes particuliers avec cette version, il y a de fortes chances qu’on trouve rapidement la solution sur les forums puisque Gutsy Gibbon est présent maintenant depuis plus de quatre mois.

L’objectif est d’installer Ubuntu 7.10 sur les 17 ordinateurs de la salle informatique et de permettre à plus de 500 utilisateurs (élèves et profs) de s’authentifier sur ces machines avec leur identifiants personnels enregistrés dans l’annuaire de SambaEdu3.

L’installation a été réalisée par Laurent, prof de Mathématiques et personne ressource en informatique, en suivant ces différentes étapes :

  1. Pour repartir avec une configuration propre sans les réglages destinés au serveur précédent, installation de Ubuntu 7.10 à partir du CD-ROM sur un ordinateur : l’installation de de Gutsy s’est déroulée correctement mis à part un blocage lors de la phase « Scanning the mirror » liée au fait qu’on se trouvait derrière un proxy. Ce bug est répertorié sur Launchpad (#49777). En débranchant le cable ethernet, l’installation a pu s’achever de manière correcte.

  2. Après avoir redémarré, rebranché le cable réseau, renseigné le proxy, les paquets sont mis à jour puis une première sauvegarde est réalisée avec OSCAR. Cette sauvegarde permettra de restaurer rapidement Ubuntu 7.10 en cas de besoin, en particulier si l’application du script lors de la procahine étape tourne mal.

  3. Le script rejoint_se3_ubuntu-7.10.sh est appliqué. Après redémarrage de la machine, Laurent a pu pu se connecter avec ses identifiants renseignés sur le serveur Sambedu, accéder aux partages du serveur, brancher sa clé usb et même naviguer directement avec Firefox (sans rien régler de plus !). Tout cela semble normal et pourtant ce n’a pas toujours été aussi facile d’intégrer un client Ubuntu dans un réseau LDAP.

  4. Dans la foulée, l’installation est personnalisée afin de correspondre a nos besoins: le dépôt Medibuntu est ajouté, Wine est installé, …

  5. Un compte local sans les droits d’administration est créé. Il pourra servir aux élèves en cas de soucis avec l’authentification sur le réseau ou bien en cas d’oubli de leur mot de passe personnel.

    Cependant, le script appliqué précédemment a modifié certains paramètres et il est dorénavant impossible d’ajouter un utilisateur de manière graphique. Sur une autre machine, cette création est possible si on l’a fait avant d’appliquer le script rejoint_se3_ubuntu-7.10.sh. Curieusement, en passant par le terminal avec les commandes useradd et userpasswd, la création d’un compte local supplémentaire fonctionne.

    Le script a également modifié d’autres paramètres qui entraînent un gel lors de la déconnexion d’un utilisateur, avec ou sans les droits d’administrateur, installé localement sur la machine. Ce n’est pas très gênant, car à priori toutes les personnes amenées à utiliser ces ordinateurs disposent d’un identifiant et d’un mot de passe stocké sur le serveur SE3 et n’ont donc à priori pas de raison (sauf oubli de leur codes personnels) d’utiliser un compte local.

    Par contre, ce blocage arrive aussi parfois à des utilisateurs du domaine lorsqu’ils se déconnectent. D’autres utilisateurs de Ubuntu avec Se3 ont constaté ce phénomène mais nous n’avons pas de solution pour l’instant à part CTRL-ALT-BACKSPACE pour redémarrer le serveur graphique.

    D’autre part, à la connexion, il arrive parfois qu’on ait un message d’erreur disant que Gnome n’a pas trouver les paramètres de sessions et qu’il démarre avec une présentation très basique (mais tout fonctionne).

  6. Il reste à définir les réglages par défaut des utilisateurs sachant que tous les homes existent déjà sur le serveur SambaEdu et que ce sont ceux-là qui seront utilisés lors de la connexion de la station. Les concepteurs de SambaEdu3 (SE3) ayant bien pensé leur système, ils ont prévu la possibilité de déployer des répertoire et des fichiers dans ces homes directement depuis l’interface du SE3. Par exemple, pour que les utilisateurs disposent automatiquement du proxy, de la page d’accueil et des réglages de Firefox, le répertoire caché .mozilla d’un utilisateur modèle est copié, avec le compte admin, dans le dossier Deploy du partage Docs situé sur le SE3. Puis, dans l’interface du SE3, les destinataires sont choisis et le serveur se charge de cette tâche de copie en masse. Il est ainsi possible de compléter au fur et à mesure les profils des utilisateurs avec les réglages qu’on souhaite imposer de base aux utilisateurs. La prochaine étape sera de pouvoir proposer un bureau type ainsi que les réglages de base de gnome (supprimer certains boutons du tableau de bord, ajouter des raccourcis au bureau et placer certains boutons au même endroit pour tous).
  7. Réglages de locales : par défaut Ubuntu est en UTF8 mais les répertoires des utilisateurs sur le serveur sont en ISO-8859-15. Ceci implique que les noms de fichier ou dossier comportant des accents sont mal gérés et apparaissent avec des caractères bizarres. La méthode préconisée sur http://wwdeb.crdp.ac-caen.fr/mediase3/index.php/Client_Linux avec le paquet localconf ne semble pas fonctionner avec Ubuntu 7.10 puisqu’un apt-get install localeconf renvoie une erreur "E: Impossible de trouver le paquet localeconf". Avec l’aide d’autres utilisateurs de SE3 et en fouillant sur le forum d’Ubuntu-fr, la méthode suivante a fonctionné :

    Dans /var/lib/locales/supported.d/ supprimer en s’il existe.

    Dans le fichier /var/lib/locales/supported.d/fr, commenter les lignes existantes et rajouter les lignes ci-dessous :

    fr_FR@euro ISO-8859-15
    fr_FR ISO-8859-15
    

    Dans le fichier /etc/environment, commenter les lignes LANG et LANGUAGE existantes et rajouter les lignes ci-dessous :

    LANG="fr_FR"
    LANGUAGE="fr_FR"
    

    Ensuite, reconfigurer les locales avec la commande :

    sudo dpkg-reconfigure locales

    Redémarrer la machine et tester les réglages avec la commande locale qui doit renvoyer une liste avec en particulier LANG=fr_FR.

  8. L’installation d’Ubuntu 7.10 Gutsy Gibbon ainsi réalisée est déployée sur l’ensemble des ordinateurs de la salle informatique avec OSCAR.

Déploiement avec OSCAR

Maintenant que la procédure d’installation et de déploiement Ubuntu 7.10 dans la salle informatique s’avère fonctionnelle, on peut la résumer en quatre étapes :

  1. Installation et configuration d’Ubuntu 7.10 sur un poste
  2. Application du script rejoint_se3_ubuntu-7.10.sh
  3. Renseignement des réglages par défaut d’un nouvel utilisateur
  4. Déploiement de l’installation avec OSCAR

Gutsy en salle informatique

Liens :

  20 commentaires

Intégration de clients Ubuntu dans un réseau avec LDAP

Ce billet décrit la procédure utilisée dans mon collège, par Laurent, prof de math et personne ressource en informatique, pour l’authentification LDAP des postes clients Ubuntu ainsi que le montage avec Samba des volumes réseau partagés.

Étape 1 : installation des paquets

Sur un poste connecté au réseau du LDAP et Internet, se connecter avec un compte administrateur. Pour le montage des répertoires par nfs et samba :

sudo apt-get install portmap smbfs smbclient

Pour le montage des partages samba :

sudo apt-get install libpam-mount

Pour l’authentification :

sudo apt-get install ldap-utils libpam-ldap libnss-ldap

Ici, apt vous pose quelques questions :

  1. Adresse ip du serveur ldap utilisé: IP_MonServeur
  2. Nom distinctif de la base de recherche du LDAP utilisé. ( Par exemple, pour nous c’était « o=gouv,c=fr » sans espaces )
  3. Ldap version to use: validez 3 avec « entrée »
  4. apt nous dit ensuite que pour libnss-ldap, nsswitch.conf n’est pas géré automatiquement.
  5. Faut-il créer une base de données locale pour l’administrateur?: non
  6. La base de données requiert-elle une connexion authentifiée?: non

Étape 2 : modification des fichiers de configuration pour accéder à LDAP

Vérifier le fichier /etc/pam_ldap.conf qui doit contenir en particulier les lignes suivantes, les autres étant commentées par un #

sudo gedit /etc/pam_ldap.conf
# Your LDAP server. Must be resolvable without using LDAP.
# Multiple hosts may be specified, each separated by a
# space. How long nss_ldap takes to failover depends on
# whether your LDAP client library supports configurable
# network or connect timeouts (see bind_timelimit).
host IP_MonServeur
# The distinguished name of the search base.
base o=nom1,c=nom2
# The LDAP version to use (defaults to 3
# if supported by client library)
ldap_version 3
# The distinguished name to bind to the server with
# if the effective user ID is root. Password is
# stored in /etc/pam_ldap.secret (mode 600)
#rootbinddn cn=manager,dc=padl,dc=com
# The port.
# Optional: default is 389.
port 389
# Reconnect policy: hard (default) will retry connecting to
# the software with exponential backoff, soft will fail
# immediately.
bind_policy soft

et surtout /etc/libnss-ldap.conf pour lequel il faut modifier manuellement (en effet, sans ces paramètres, la connexion échoue et l’installation du paquet ne renseigne pas ce fichier automatiquement) les lignes suivantes :

sudo gedit /etc/libnss-ldap.conf
# Your LDAP server. Must be resolvable without using LDAP.
# Multiple hosts may be specified, each separated by a
# space. How long nss_ldap takes to failover depends on
# whether your LDAP client library supports configurable
# network or connect timeouts (see bind_timelimit).
host IP_MonServeur
# The distinguished name of the search base.
base o=nom1,c=nom2
# The LDAP version to use (defaults to 3
# if supported by client library)
ldap_version 3
# The distinguished name to bind to the server with
# if the effective user ID is root. Password is
# stored in /etc/libnss-ldap.secret (mode 600)
# Use 'echo -n "mypassword" > /etc/libnss-ldap.secret' instead
# of an editor to create the file.
#rootbinddn cn=manager,dc=padl,dc=com
# The port.
# Optional: default is 389.
port 389
# Reconnect policy:
#  hard_open: reconnect to DSA with exponential backoff if
#  opening connection failed
#  hard_init: reconnect to DSA with exponential backoff if
#  initializing connection failed
#  hard:      alias for hard_open
#  soft:      return immediately on server failure
bind_policy soft

Pour que l’annuaire LDAP soit consulté lors de l’authentification, modifier les 3 premières lignes du fichier /etc/nsswitch.conf comme ci-dessous :

sudo gedit /etc/nsswitch.conf
passwd: files ldap
group:  files ldap
shadow: files ldap

J’ai remarqué qu’il valait mieux faire ce fichier en dernier et surtout après libnss-ldap.conf sinon le
poste est considérablement ralenti en particulier gedit met un temps fou à ouvrir des fichiers dans un
terminal.

Une fois ces modifications effectuées, les commandes ci-dessous doivent parcourir LDAP :

sudo id un_utilisateur_ldap
sudo getent passwd un_utilisateur_ldap
sudo getent group un_group_ldap

NFS n’est pas activé sur ALPES, on ne peut pas monter le répertoire home de l’utilisateur par cette méthode.

Etape 3 : modification des fichiers de PAM

Dans /etc/pam.d, on édite les fichiers comme suit :

Édition de /etc/pam.d/common-pammount (pas de changement):

sudo gedit /etc/pam.d/common-pammount
auth 		optional pam_mount.so use_first_pass
session 	optional pam_mount.so use_first_pass

Édition de /etc/pam.d/common-account :

sudo gedit /etc/pam.d/common-account
account sufficient pam_unix.so
account required pam_ldap.so use_first_pass
account required pam_mount.so use_first_pass

Édition de /etc/pam.d/common-auth :

sudo gedit /etc/pam.d/common-auth
auth sufficient pam_unix.so
auth required pam_group.so use_first_pass
auth required pam_mount.so use_first_pass
auth required pam_ldap.so use_first_pass

Édition de /etc/pam.d/common-password :

sudo gedit /etc/pam.d/common-password
password sufficient pam_unix.so nullok obscure min=4 max=8 md5
password required pam_mount.so use_first_pass
password required pam_ldap.so use_first_pass

Édition de /etc/pam.d/common-session :

sudo gedit /etc/pam.d/common-session
session sufficient pam_unix.so
session optional pam_mkhomedir.so skel=/etc/skel/
session optional pam_mount.so use_first_pass

Pour que gdm lise pammount en premier et monte les partages samba dans /media avec le même mot de passe, éditer /etc/pam.d/gdm et /etc/pam.d/gdm-autologin

sudo gedit /etc/pam.d/gdm
sudo gedit /etc/pam.d/gdm-autologin

remplacez le contenu par ceci :

#%PAM-1.0

auth required	pam_mount.so
auth required	pam_group.so use_first_pass
auth sufficient	pam_ldap.so use_first_pass
auth required	pam_unix.so use_first_pass
auth required	pam_env.so

account sufficient pam_ldap.so
account sufficient pam_unix.so

password required pam_unix.so nullok obscure min=4 max=8 md5

session required pam_unix.so
session optional pam_mkhomedir.so skel=/etc/skel/
session optional pam_mount.so

Étape 4 : configurer le montage des partages samba

sudo gedit /etc/security/pam_mount.conf

Au milieu du fichier, à la fin de la section qui commence par Volumes that will be mounted when user triggers the pam_mount module…, ajoutez les lignes suivantes :

volume * smbfs IP_MonServeur & /media/&' sur nom_du_serveur' uid=&,gid=&,dmask=777,fmask=777 - -
volume * smbfs IP_MonServeur profscommun /media/profscommun' sur MonServeur' uid=&,gid=&,dmask=777,fmask=777 - -
volume * smbfs IP_MonServeur classes /media/classes' sur MonServeur' uid=&,gid=&,dmask=777,fmask=777 - -
volume * smbfs IP_MonServeur public /media/public' sur sur MonServeur' uid=&,gid=&,dmask=777,fmask=777 - -
volume * smbfs IP_MonServeur install /media/install' sur sur MonServeur' uid=&,gid=&,dmask=777,fmask=777 - -

Ce script dit à pam que pour tout utilisateur qui s’authentifie, le partage samba «public» qui est sur la machine IP_MonServeur doit être monté dans le répertoire /media/public, en utilisant l’identité et le groupe de cet utilisateur et en donnant les droits 777 sur ce répertoire. Ensuite, c’est le serveur qui gère les droits; ainsi un élève ne verra pas le partage professeurs sur son bureau. Le & représente le login de connexion.

Dans ces lignes, j’ai rajouté une chaine de caractères ‘ sur MonServeur’ qui sera ajoutée au nom du montage.
Cela permet entre autre de distinguer les 2 homes de l’utilisateur: celui local dans /home/nom_utilisateur et celui monté depuis le serveur dans /media/nom_utilisateur sur Mon_Serveur.

Pour permettre d’exécuter un script de suivi des connexions (voir étape 7), ajouter la ligne :

volume * smbfs IP_MonServeur config /tmp/.config uid=&,gid=&,dmask=777,fmask=777 - -

.config avec un point au début pour en faire un fichier caché et monté ailleurs que dans /media car sinon il apparaît dans le menu « Raccourcis ».

Étape 5 : problèmes liés à l’authentification distante

La langue par défaut : quand l’authentification se fait via un serveur distant, l’utilisateur n’accède aux groupes ou aux paramètres locaux. Ainsi, il arrive que la langue par défaut de l’environnement graphique bascule vers l’américain. Pour y remédier, il faut ajouter les lignes suivantes à la fin du fichier /etc/profile après la ligne umask 022 :

sudo gedit /etc/profile
export LC_ALL=fr_FR.UTF-8
export LANG=fr_FR.UTF-8
export LANGUAGE=fr_FR.UTF-8

Pour activer le réglage immédiatement, se déplacer sur /etc

cd /etc

puis :

. profile

avec un espace entre le point et profile.

Le son, les lecteurs amovibles et les périphériques usb : pour accéder à la carte son et aux périphériques, les utilisateurs locaux appartiennent aux groupes secondaires audio, plugdev, etc. Les groupes sont définis dans /etc/group. Leurs membres sont nécessairement des utilisateurs locaux. Nous allons demander à pamgroup d’intégrer tout utilisateur distant qui s’authentifie par ldap aux groupes locaux audio, video, cdrom, plugdev, floppy et scanner.

Pour cela, nous avons déjà ajouté pamgroup à /etc/pam.d/common-auth et gdm. Il nous reste à ajouter la ligne suivante à /etc/security/group.conf

sudo gedit /etc/security/group.conf
*;*;*;Al00002400;floppy,audio,cdrom,video,plugdev,scanner

juste avant

#
# End of group.conf file
#

Dans Al00002400, c’est bien la lettre l qui suit le A. Cette plage définit l’heure à laquelle le service est actif.

On pourrait par exemple permettre au prof dupont de jouer et d’avoir le son après les heures de travail en l’intégrant aux groupes games et audio. On ajoute la ligne :

*;*;dupont;!Wk08001700;games,audio

Le pavé numérique activé dès la fenêtre de connexion : assurez-vous que le dépôt « universe » est activé. Installez le paquet numlockx avec avec la commande :

sudo apt-get install numlockx

Effectuez une copie de sauvegarde de votre fichier /etc/X11/gdm/Init/Default existant.

sudo cp /etc/X11/gdm/Init/Default /etc/X11/gdm/Init/Default_backup
sudo gedit/etc/X11/gdm/Init/Default

Ajoutez les lignes suivantes au-dessus de la ligne « exit 0 » (ce devrait être la dernière ligne du fichier).

if [ -x /usr/bin/numlockx ]; then
/usr/bin/numlockx on
fi

Les changements prendront effet lors de votre prochaine connexion à GNOME. Si vous voulez le tester dès maintenant, désactivez la touche Num Lock (Verr num) et redémarrez GNOME avec Ctrl+Alt+Backspace

Droits à rectifier : certains tutoriels indiquent une modification des droits sur /usr/bin/smbmnt alors dans le doute :

sudo chmod +s /usr/bin/smbmnt

Créer le répertoire qui contiendra les home des utilisateurs LDAP dans /home/disque1/users

sudo mkdir /home/disque1 && mkdir /home/disque1/users

Redémarrer la machine.

Étape 6 : réglages par défaut d’un nouvel utilisateur LDAP

Créer un compte modèle « CompteModele » pour lequel on réalise toutes les installations et réglages des logiciels (proxy système, préférences Firefox, paquet de polices, etc) puis dans /home/disque1/users, supprimer tous les répertoires des utilisateurs LDAP déjà existants :

sudo rm -r /home/disque1/users/ && mkdir /home/disque1/users/

puis exécuter la commande ci-dessous pour copier les réglages dans /etc/skel

sudo cp -r /home/CompteModele/.[!.]* /etc/skel/

À la première connexion d’un utilisateur, son home local va être créé dans /home/disque1/users et contiendra automatiquement les réglages par défaut copié par PAM.

Il faut penser à refaire cette manipulation à chaque ajout de programme ou de modification des réglages de l’utilisateur.

Open Office renvoie un message d’erreur à la première connexion (après création du home local et copie du skel) « Une autre instance de OOo a accès à vos paramètres personnels ou les bloque ». Ce message provient du fait que dans /home/CompteModele/.openoffice.org2, il y a un fichier .lock qui contient le nom du login du CompteModele ainsi que le nom du poste (host). Pour éviter le message d’erreur, il suffit de supprimer ce fichier avant copie du home dans le skel.

Bien que la barre personnelle de Firefox contienne déjà des marque-pages vers les liens communs les plus fréquents, certains utilisateurs ont émis le souhait d’avoir sur le bureau un raccourci vers certains sites. Lors de la copie du home dans le skel, Desktop n’y est pas copié, chacun gardant son propre bureau. Afin que ce raccourci apparaisse chez tous les utilisateurs, créer un répertoire Desktop dans /etc/skel et copier le raccourci voulu à l’intérieur. Après la connexion, ce répertoire, copié dans le home des utilisateurs, rend le raccourci disponible sur le bureau.

Lors de la première connexion par gdm, la copie des fichiers du skel renvoie un message de création des fichiers qu’il faut valider. La fenêtre est surdimensionnée et on ne voit plus le bouton valider … Comment éviter ce message ?

Étape 7 : écriture dans un fichier journal

Un script shell à la connexion permet de renseigner, dans un fichier journal, le nom du poste, la date, l’heure, le login et le système d’exploitation. Les informations sont inscrites dans le fichier de log pclog.txt sur le serveur pédagogique.

Créer un fichier « suivilog.sh », le rendre exécutable (bouton droit, onglet permissions) et le copier
dans le partage config sur MonServeur.

#! /bin/sh
OsduPC=`echo Ubuntu`
ladate=`date`
lheure=`time`
NomduPoste=`hostname`
NomUtilisateur=`printenv LOGNAME`
echo $OsduPC $ladate $lheure $NomduPoste $NomUtilisateur >>/tmp/.config/pclog.txt

Dans système/préférences/sessions, onglet « programmes au démarrage », ajouter dans « commande de
démarrage » /tmp/.config/suivilog.sh

Résultat dans le fichier de log :

Ubuntu mercredi 9 mai 2007, 13:38:00 (UTC+0200) S102-P13 Login_Utilisateur

Astuce

Si la connexion est rejetée après un mauvais réglage d’un common PAM ou de GDM, passer en mode console avec CTRL+ALT+F1, taper le login et le mot de passe d’un utilisateur administrateur, et une fois logué, éditer le fichier à modifier avec vi :

sudo vi /etc/pam.d/gdm

Commandes vi : « i » insérer, « w: » enregistrer, « q: » quitter

Repasser en mode graphique avec CTRL+ALT+F7 et retenter une connexion.

Annexe : réglages pour un ordinateur portable

Pour permettre la connexion au poste sans être connecté au réseau hébergeant le serveur LDAP, installer les paquets supplémentaires :

sudo apt-get install nss-updatedb libnss-db libpam-ccreds

Réaliser les réglages suivants en étant connecté au réseau du LDAP :

sudo nss_updatedb ldap

Ceci a pour effet de mettre en cache local les password et les group du LDAP, en renseignant les
fichiers « passwd.db » et « group.db » dans /var/lib/misc avec les données du LDAP, et donc de permettre à un utilisateur LDAP de se connecter à la station sans réseau.

Modifier les 2 premières lignes du fichier /etc/nsswitch.conf comme ci-dessous :

sudo gedit /etc/nsswitch.conf
passwd:         files  ldap [NOTFOUND=return] db
group:          files  ldap [NOTFOUND=return] db

Modifier le fichier suivant /etc/pam.d/common-auth :

auth required pam_env.so
auth sufficient pam_unix.so try_first_pass
auth required pam_group.so use_first_pass
auth required pam_mount.so use_first_pass
auth [authinfo_unavail=ignore success=1 default=die] pam_ldap.so use_first_pass
auth    [default=done]  pam_ccreds.so action=validate use_first_pass
auth    [default=done]  pam_ccreds.so action=store use_first_pass
auth    [default=done]  pam_ccreds.so action=update use_first_pass

Editer /etc/pam.d/gdm et /etc/pam.d/gdm-autologin et remplacez leur contenu par ceci :

sudo gedit /etc/pam.d/gdm
sudo gedit /etc/pam.d/gdm-autologin
#%PAM-1.0
auth required pam_mount.so
auth required pam_group.so use_first_pass
auth sufficient pam_unix.so use_first_pass
auth sufficient pam_ldap.so use_first_pass
auth required pam_env.so
account sufficient pam_ldap.so
account sufficient pam_unix.so
password required pam_unix.so nullok obscure min=4 max=8 md5
session required pam_unix.so
session optional pam_mkhomedir.so skel=/etc/skel/
session optional pam_mount.so

Les autres fichiers common de pam.d /etc/pam.d/common-xxxx ne sont pas modifiés.

Le réseau du collège en en DHCP mais derrière un proxy IP_MonServeur:port.
Ce proxy est « transmis » aux utilisateurs LDAP par le skel. Lorsque l’utilisateur LDAP
se connecte sur la station mais en la branchant sur un autre réseau, il ne pourra se
connecter à internet qu’en changeant les paramètres du proxy dans le système et dans le
navigateur. Comment automatiser le changement de paramètres ?

Ne pas démarrer le poste avec le câble réseau connecté à un autre réseau sinon le poste ne démarre pas correctement et la connexion de l’utilisateur est très longue. Brancher le câble après la connexion totale de l’utilisateur pour bénéficier d’internet.

Conclusion

La procédure décrite ici est spécifique à notre environnement mais l’essentiel devrait être réutilisable sans faire de grandes modifications. Elle regroupe différentes informations récoltées au gré de nos recherches et de nos « rencontres » sur le Net. Tous nos remerciements à Mhedi, Ramsès, Lionel et à tous ceux qui ont partagé leurs expériences.

Cette procédure a été testée et fonctionne avec les 17 postes Ubuntu de la salle informatique et également avec un ordinateur portable. L’ordinateur de la salle des profs a eu droit à une installation particulière décrite dans un autre billet.

Maintenant que les postes clients Ubuntu bénéficient de l’authentification avec LDAP, ce sont une cinquantaine de profs et plus de 500 élèves qui peuvent se connecter au réseau du collège avec leur identifiant personnel.

[Mise à jour du 03 avril 2008] : Cédric, un lecteur du blog, a trouvé une solution pour éviter de se retrouver avec un message de confirmation lors de la création des dossiers.
Dans /etc/pam.d/common-session :

sudo gedit /etc/pam.d/common-session
session required pam_unix.so
session optional pam_foreground.so
session required pam_mkhomedir.so skel=/etc/skel umask=0066 silent

La présence de silent permet d’éviter le message de confirmation. Merci à Cédric pour cette trouvaille !

  30 commentaires

Authentification LDAP avec une station DELL GX110

Laurent, prof de Mathématiques et PRI (Personne Ressource Informatique), essaye de permettre au poste client Ubuntu de la salle des profs de s’authentifier auprès d’un serveur LDAP et de monter les partages et le home distant de l’utilisateur.

Sur le poste utilisé en salle des profs, j’ai rencontré de gros problèmes de configuration qui m’ont conduit à adapter les installations précédentes. Voici les détails matériels du poste :

  • Chipset de la carte mère Intel Whitney i810E
  • Carte vidéo intégrée Intel(R) 82810E (Type du contrôleur graphique Intel i752 )
  • Carte son intégrée AC’97 Audio Controller (Type du contrôleur audio Intel 82801AA ICH )
  • Carte réseau intégrée 3Com 3C920 Integrated Fast Ethernet Controller

Les deux problèmes majeurs sont :

  • Une lenteur extrême à la connexion avec les réglages précédents de PAM (curieusement avec un seul
    volume à monter, ça passe sans problème mais dès 2 volumes à monter, il faut au moins 15 minutes
    pour arriver au bout de la procédure de connexion).
  • Impossible de passer en mode console avec CTRL-ALT-F1, l’écran clignote sans fin dans tous les
    sens. Pourtant, si je lance Ubuntu en mode safe recovery, ma console est tout ce qui a de plus
    normale. Cela m’a orienté vers un problème de pilote utilisé par Gnome mais les nombreuses
    informations glanées dans les forums ne sont pas venues à bout du problème. (Pour info, ça ne le fait
    que pour EDGY et pas pour DAPPER alors que dans les 2 cas, le pilote i810 est utilisé, idem avec le
    pilote intel.) Sur le forum, j’ai trouvé une discussion à ce sujet mais la solution n’a pas encore été trouvée.

Afin de pouvoir utiliser ce poste quand même avec le réseau du collège, j’ai pris le parti de ne mettre
qu’un seul volume à monter automatiquement par PAM, le home personnel de l’utilisateur sur le
serveur.

Etant donné que cette machine est utilisé par un seul type d’utilisateurs (les profs), avec mon compte
modèle, j’ai utilisé « Raccourcis, Se connecter à un serveur » pour les trois partages utilisés par les
professeurs :

  • Type de service: Partage Windows
  • Serveur: MonServeur
  • Partage: NomPartage

Par le skel, ces trois « raccourcis » sont présents sur tous les bureaux des utilisateurs.
En double cliquant dessus, leur login est déjà renseigné et il leur suffit de renseigner le mot de passe
pour se connecter à ces partages, c’est un moindre mal pour contourner mon problème et permettre
aux utilisateur d’accéder aux mêmes ressources que les stations Windows voisines…

  1 commentaire

Installation d’une imprimante reliée au réseau par un boitier d’impression TRENDNET

Laurent, prof de Mathématiques et PRI (Personne Ressource Informatique), détaille l’installation sur Ubuntu 6.10 de imprimante Laser de la salle des profs, reliée au réseau par un boîtier d’impression TRENDNET TE100-P1U/A.

Lorsque nous avons tenté nos premiers tests d’Ubuntu en salle des profs, un des premiers réglages sur la nouvelle station fut de permettre l’utilisation de l’imprimante HP laserjet1300 déjà accessible depuis les autres postes Windows. Cette imprimante n’étant pas réseau, j’y avais déjà ajouté il y a un bon bout de temps, un petit boîtier serveur d’impression permettant de la relier au réseau.

Ce TE100-P1U/A de TrendNet comporte une prise USB reliée à l’imprimante, une prise RJ45 reliée au réseau et une alimentation par un transfo relié au secteur.

En tâtonnant un peu mais sans chercher plus loin, nous avions trouvé dans Système/Administration/Impression et nouvelle imprimante, une des configuration (HP JetDirect) qui nous permettait de saisir l’IP fixe de ce serveur et d’installer l’imprimante (J’ai en fait essayé à l’époque de reproduire le fonctionnement sous windows qui installe l’imprimante sur un port IP).

Tout semblait marcher sans problème et nous n’avons pas prêté plus d’attention que ça aux petits blocages d’impression qui apparaissaient de temps en temps.

Malheureusement, ces blocages sont devenus récurrents et les symptômes particulièrement gênants: en envoyant une impression, le serveur se mettait régulièrement hors-tension (pas de LED qui clignote ou de message d’erreur, les LED s’éteignent totalement et le serveur est éteint ! )
Pour le réinitialiser, il fallait débrancher la fiche d’alimentation et la remettre… je vous laisse imaginer le résultat sur l’imprimante qui imprimait alors plusieurs fois de suite les documents que les collègues avaient relancés, ne les voyant pas sortir…

De plus, le serveur n’était alors plus accessible des stations windows qu’il fallait redémarrer…

Après un blocage de trop et un agacement perceptible de certains utilisateurs, j’ai regardé cela de plus près et considéré que le réglage avec Jetdirect devait être en cause.

J’ai repris le problème à la base en fouillant sur le site de TrendNet sur lequel j’ai trouvé pour mon serveur d’impression, un guide pour les utilisateurs d’UNIX, UnixUG_TE100-P1P_P1U.pdf.

La lecture attentive de ce guide m’a permis de faire un réglage plus adapté à ce modèle de serveur pour une utilisation avec Linux et Ubuntu en particulier.

Configurer l’adresse IP fixe du serveur d’impression sur la station Ubuntu

sudo gedit /etc/hosts

Rajouter la ligne ci-dessous dans ce fichier et enregistrer le fichier

10.131.254.200 ps_usb_sdprofs #Default name SCFA6ABA

Dans cette ligne, SCFA6ABA est le nom par défaut de ce boîtier (il est écrit sur l’autocollant de l’appareil), 10.131.254.200 est l’IP fixe du boîtier sur mon réseau, ps_usb_sdprofs est le nom que j’ai donné au serveur d’impression. Cette ligne assigne l’adresse IP au nom du serveur, un peu comme le ferait un serveur DNS.

Dans un terminal, exécuter la commande ci-dessous qui permet d’associer l’adresse IP à l’adresse MAC (adresse matérielle) de ce boîtier :

arp -s ps_usb_sdprofs 04:d0:46:8c:28

Dans le guide, il est indiqué que l’adresse MAC (hardware address) est aussi sur l’autocollant mais pas sur le mien. Pour l’obtenir, j’ai tapé l’adresse IP du boîtier dans un navigateur web depuis une station Windows où il est déjà installé et j’ai ainsi pu accéder à la page de configuration du serveur d’impression dans laquelle figure cette adresse.

D’après ce que j’ai compris, toute cette procédure a justement pour but de relier le nom, l’adresse IP et l’adresse MAC pour que l’interface web soit accessible.
D’ailleurs pour tester les réglages ci-dessus on peut faire un ping ps_usb_sdprofs ou bien taper http://ps_usb_sdprofs dans un navigateur web.

Installer l’imprimante reliée à ce serveur d’impression en utilisant LPD

Sous GNOME, choisir Système>Administration>Impression puis Nouvelle imprimante (La lecture de la base de données des imprimantes par gnome-cups-add peut être plus ou moins long selon les performances de votre machine)

Étape 1 sur 3 : connexion de l’imprimante

Pour type d’imprimante, choisir imprimante réseau puis imprimante UNIX (LPD)

Pour hôte: mettre le nom du serveur d’impression ps_usb_sdprofs

Pour File d’impression : mettre /var/spool/lpd/ ps_usb_sdprofs

screenshot

Etape 2 sur 3 : choix du pilote de l’imprimante

Choisir le fabriquant puis le modèle dans la liste, le pilote le plus adapté est alors suggéré.

Etape 3 sur 3 : informations sur l’imprimante: nom, description, emplacement

Après validation, l’imprimante apparaît dans la liste.

Penser à régler l’imprimante par défaut (bouton droit sur l’imprimante, en faire le choix par défaut ) si nécessaire.

Je saurais dans les prochains jours si le problème de blocage est définitivement réglé !

  8 commentaires

LDAP et paramétrages de connexion des stations Ubuntu

Laurent, prof de Mathématiques et PRI (Personne Ressource Informatique), essaye de permettre aux 17 postes clients Ubuntu de la salle informatique du collège de s’authentifier auprès d’un serveur LDAP et de monter les partages et le home distant de l’utilisateur.

Dans notre tentative de proposer Ubuntu comme système d’exploitation des ordinateurs utilisés au collège, nous travaillons depuis quelques temps à la connexion des stations à notre serveur de domaine du réseau pédagogique. Ce billet est à la fois un moyen pour nous de mémoriser nos paramétrages mais également de partager notre expérience sur ce thème.

Notre réseau pédagogique comprend un seul serveur de domaine et de fichiers qui permet aux utilisateurs de se connecter aux stations et d’accéder aux partages du serveur en fonction de leur profil.

Le système proposé par notre académie aux collèges est pour l’instant un serveur ALPES basé sur une RED HAT 9 avec LDAP 3 et SAMBA 2. Je précise tout de suite que je n’ai pas la main sur ce serveur car c’est une configuration dont les réglages sont centralisés par le Rectorat. L’interface web à laquelle j’accède me permet quand même de gérer la partie utilisateurs de LDAP, les partages et les droits dessus, les login script et divers paramétrages standards.

L’annuaire LDAP contient l’ensemble des élèves et des professeurs pour un accès individualisé.

Pour Windows, l’utilisateur qui se connecte au domaine est authentifié par LDAP et différents partages sont mappés dans Poste de Travail grâce à Samba : un répertoire personnel au nom de l’utilisateur, un partage public, un partage classe, etc. avec différents droits.

Nous cherchons donc à réaliser avec Ubuntu l’authentification par LDAP sur la station et le montage du répertoire personnel de l’utilisateur ainsi que des autres partages. Les deux objectifs sont liés mais mes lectures m’ont appris qu’il existe plusieurs façon d’y arriver et je n’ai malheureusement pas encore toutes les réponses à mes questions. Avant de rentrer dans les détails, je rappelle que nous avons fait le choix de déployer Ubuntu Edgy au collège.

J’ai démarré en me basant sur la documentation LDAP Client d’Ubuntu-fr.

Sur un poste, je me connecte avec le compte qui m’a servi à installer Ubuntu.

Étape 1 : installation des paquets pour un client LDAP

sudo apt-get install libpam-ldap libnss-ldap

Comme indiqué, des renseignements complémentaires sont demandés mais difficile de savoir si c’est pour pam ou nss au début…

  • Adresse IP de mon serveur: « IPServeur »
  • Ma base de LDAP du genre o=qqch, c=qqch: « BaseLDAP »
  • version LDAP: 3

Je choisis de ne pas créer de base locale et ma base LDAP n’a pas besoin d’authentification.

Si je modifie le fichier /etc/nsswitch.conf comme indiqué

passwd: files ldap
group: files ldap
shadow: files ldap

ou comme vu ailleurs :

passwd: compat ldap
group: compat ldap
shadow: compat ldap

Dans ces deux cas, les commandes ci-dessous ne renvoient rien du tout : 

sudo id un_utilisateur_ldap
sudo getent passwd un_utilisateur_ldap
sudo getent group un_group_ldap

En fouillant, je me suis rendu compte que rien n’avait été modifié dans le fichier /etc/libnss-ldap.conf lors de l’installation des paquets alors que dans un précédent essai sur une Ubuntu Dapper, ce fichier contenait exactement les données renseignées dans la phase d’installation des paquets.

J’ai donc rajouté manuellement dans /etc/libnss-ldap.conf aux lignes concernées 

  • Adresse IP de mon serveur: « IPServeur »
  • Ma base de LDAP du genre o=qqch, c=qqch: « BaseLDAP »
  • Commenter par un # la ligne rootbind (pas besoin d’authentification pour consulter mon LDAP)
  • Port 389
  • Bind-Policy soft (Ce réglage n’apparaît pas dans l’article ldap-client d’Ubuntu.fr mais est sur la documentation d’Ubuntu.com

Une fois ces changements effectués, j’obtiens cette fois des réponses cohérentes des commandes id, getent passwd, getent group mais ces réponses ne sont cherchées que localement sur le poste, je n’y trouve pas ce qui devraient être cherché dans LDAP.

J’ai donc à nouveau modifié le fichier /etc/nsswitch.conf comme ci-dessous :

passwd: ldap compat files
group: ldap compat files
shadow: ldap compat files

A partir de là, j’obtiens des réponses cohérentes pour les 3 commandes précédentes aussi bien avec des utilisateurs locaux (dont le compte n’existe que sur la machine) qu’avec des utilisateurs LDAP (dont les comptes n’existent pas sur la machine mais sur le serveur).

Étape 2 : configuration de PAM

C’est là que ça se gâte car les documentations sont nombreuses mais la plupart du temps spécifiques à des installations particulières ou très denses, Pingoo par exemple, ou PAM.

Les exemples ne manquent pas non plus sur le forum d’Ubuntu-fr mais les discussions concernent des époques, des versions, des situations bien différentes et il est difficile de s’y retrouver… dommage j’en avais trouvé un sujet qui correspondait exactement à ce que je cherche…

J’en ai même trouvé une où on change temporairement les dépôts pour installer les paquets PAM et NSS de Feisty… C’est très déconcertant…

Voilà où j’en suis :

dans /etc/pam.d/common-account :

account sufficient   pam_ldap.so
account required pam_unix.so

Dans /etc/pam.d/common-auth :

auth  sufficient pam_ldap.so
auth required pam_unix.so use_first_pass

Dans /etc/pam.d/common-password :

password  sufficient pam_ldap.so md5
password required pam_unix.so nullok obscure min=4 max=8 md5

Dans /etc/pam.d/common-session :

session required      pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/
session optional pam_ldap.so

Là où je suis encore mauvais, c’est que je n’ai pas la moindre idée de ce qu’implique ces réglages et je ne vois donc pas ce que signifie tel ou tel choix d’option.

D’ailleurs, heureusement que je conserve une connexion avec un utilisateur administrateur du poste en faisant mes essais car un réglage faux et la connexion n’est plus possible même pour root. J’ai fait pas mal de restaurations de système avant de comprendre…

Avec tous ces réglages, la connexion d’un compte local fonctionne mais un compte LDAP renvoie la connexion a échouée…

Si j’enlève la ligne :

session required        pam_mkhomedir.so  skel=/etc/skel/

j’ai un message d’erreur qui me dit que l’utilisateur devrait avoir un home sur /home/disque1/users/login_utilisateur qui n’existe pas et donc la connexion ne peut se faire.

Ce qui est rassurant, c’est que le chemin /home/disque1/users/login_utilisateur, il est forcément allé le lire dans LDAP.
J’ai fait un essai en biaisant : j’ai créé un répertoire login_utilisateur sur le poste avec les droits qui vont bien et là mon utilisateur a pu s’authentifier avec son mot de passe LDAP mais son home était le répertoire local que j’ai créé manuellement et non le répertoire sur le serveur…

Je pense que je brûle mais je dois encore résoudre les problèmes suivants :

  • Faire en sorte qu’Ubuntu utilise le home qui est sur le serveur à la connexion à la station …
    Pour cela, je dois sûrement lui faire créer le home de l’utilisateur à la première connexion avec mkhomedir.so et le chemin qu’il attend et ensuite faire en sorte qu’il aille sur le home du serveur.
  • Renseignements pris auprès des initiés, le service NFS n’est pas activé sur mon serveur. Il pourrait l’être mais je préfère éviter les singularités sur mon serveur qui risqueraient de poser des problèmes lors des mises à jour qui sont centralisées et réalisées à distance. Sans rentrer dans le détail, je préfère m’en tenir pour l’instant à des réglages que je peux faire moi-même donc je reste au niveau des stations.
  • Au lieu de NFS, je peux utiliser SAMBA pour monter les partages des utilisateurs. Là, il faut que je creuse car getent group est capable de donner les groupes d’un utilisateur donné; je pense qu’il doit exister un moyen d’automatiser la connexion des partages de façon individuelle, peut être au moyen d’un script à la connexion qui utiliserait getent group pour avoir la liste des groupes d’un utilisateur donné et les monter avec smb.

Les suggestions sont évidemment bienvenues…

  14 commentaires

Utilisation d’OSCAR pour déployer Ubuntu

OSCAR est un ensemble d’outils qui permettent aux administrateurs réseaux d’installer facilement une salle complète à partir d’un poste fonctionnel.

OSCAR est distribué sous licence GNU/GPL.

Projet OSCAR : http://www.crdp-lyon.cndp.fr/oscar/

Laurent, prof de Mathématiques et PRI (Personne Ressource Informatique), utilise OSCAR, pour déployer Ubuntu dans la salle informatique du collège où je suis enseignant.

Dans un précédent billet, Laurent a présenté OSCAR. À présent, il détaille la procédure utilisée pour déployer Ubuntu sur les 17 postes de la salle informatique :

J’ai utilisé la version 1.0.9 d’OSCAR puisque c’est à partir de celle-là qu’est reconnue ma carte réseau RTL 8168/8111 sur les NEC PowerMate ML450.

Mon poste modèle possède un disque d’environ 80 Go comprenant une partition WindowsXP et une autre Données installées par mon fournisseur de matériel. Je veux juste conserver la partition Windows XP pour m’éviter le travail d’installation, de mise à jour et d’activation (surtout qu’en plus c’est WinXp SP2 OEM et que je n’ai aucun CD d’installation, juste un CD de restauration !)

J’utilise Gparted sur le CD d’OSCAR pour redimensionner la partition WinXP, supprimer la partition données et créer les autres partitions dont j’ai besoin.

  • Partitionnement du disque avec Gparted d’Oscar
    • Démarrage sur le CD, lancement d’Oscar, Menu Disques puis Gparted
  • Disque Dur SATA 80 Go [sda]
    • Une partition primaire 25 Go NTFS WindowsXP SP2 [sda1]
    • Une partition étendue 55 Go [sda2]
      • Une partition logique 15 Go FAT32 Transfert Images [sda5]
      • Une partition logique 20 Go Ext3 Oscar [sda6]
      • Une partition logique 1 Go SWAP-Linux [sda7]
      • Une partition logique 19 Go Ext3 Ubuntu [sda8]

Sous Windows XP, j’ai copié newsid.exe sur C:\Oscar pour le changement de SID de XP et créé un fichier oscar.bat sur la première partition FAT32 (D:\ chez moi) et mis un raccourci vers ce fichier dans C:\Documents and Settings\All Users\Menu Démarrer\Programmes\Démarrage\.

Cela permet des redémarrages automatiques permettant les changements automatisés de SID, de nom de poste et de mise dans le domaine (ce dernier point me pose malheureusement un soucis car je dois mettre les postes manuellement dans le domaine car ALPES, mon serveur de domaine, ne l’accepte pas automatiquement).

J’ai ensuite installé Ubuntu sur la partition sda8

Remarque: la première fois, j’ai installé OSCAR et ensuite Ubuntu. J’ai alors du faire Oscar/Disques/Menu/réparer_boot pour avoir le choix Ubuntu dans Grub.

Après sauvegardes de mon poste modèle (une de WinXP et une de Ubuntu), j’ai utilisé sur le modèle Serveur_Clone avec winXP comme sauvegarde à restaurer pour formater les autres postes ( sur les postes vierges, démarrage sur CD d’OSCAR et client-cloné ) et mettre winXP avec DHCP, nom du poste, domaine et changement de SID.

En choisissant client_cloné, cela permet quatre choses :

  • Partitionner les postes vierges à l’identique du modèle.
  • Installer OSCAR sur chaque poste (plus besoin du CD ensuite)
  • Envoyer la sauvegarde choisie sur la partition OSCAR du poste vierge
  • Restaurer la sauvegarde sur la même partition que celle du modèle

Cette commande sert surtout la première fois pour partitionner le poste ou lorsqu’on veut ajouter des partitions pour diverses raisons.

J’ai ensuite déployé Ubuntu avec Serveur_Multi et Client_Multi pour envoyer uniquement l’image de la partition concernée. (J’aurais pu faire Ubuntu d’abord et winXP après, ça ne change rien)

Client_Multi ne fait que deux choses :

  • Envoyer la sauvegarde choisie sur la partition OSCAR du poste vierge
  • Restaurer la sauvegarde sur la même partition que celle du modèle

C’est la commande qu’on utilise au quotidien après mise à jour d’un des système.

Au démarrage, grub ne proposait que Windows et OSCAR. J’ai donc à nouveau été dans OSCAR, Disques, Menu, Réparerboot et au rédémarrage suivant, j’avais alors les trois choix.

  3 commentaires

LDAP et les stations clientes Ubuntu du collège

À la fin du mois de janvier, Ubuntu a été installé sur les 17 postes de la salle informatique du collège où je suis enseignant.

Laurent, prof de Mathématiques et PRI (Personne Ressource Informatique), essaye de mettre en place l’authentification des stations clientes Ubuntu auprès d’un serveur LDAP :

Après les premiers tests de Yves en salle des Profs avec GDM et une connexion automatique avec un compte générique, on tente maintenant de passer à la vitesse supérieure en permettant à nos stations d’être des clientes de notre serveur de domaine (pour l’instant basé sur Samba 2 et sur lequel je n’ai pas la main) et son annuaire LDAP. Cela permettra aux utilisateurs (élèves et profs) de retrouver leurs partages réseau aussi sous Ubuntu.

J’ai longuement parcouru les forums et la documentation de Ubuntu-fr mais je câle lamentablement malgré de nombreuses infos glanées un peu partout. J’ai suivi en particulier la doc ldapclient et cet article, même si ils datent un peu et ne correspondent pas à 100% à notre configuration.

En suivant l’une ou l’autre de ces docs et en l’adaptant à notre configuration, le résultat est toujours le même, la machine se plante au redémarrage… logo Ubuntu, barre orange à un tiers et plus de clavier ni de souris… ou bien, fenêtre de connexion mais plus moyen de s’authentifier, pas même avec une session de secours… j’ai chaque fois du restaurer une sauvegarde… heureusement, pas de problème de déploiement d’Ubuntu, j’ai les outils qui vont bien (voir billet sur OSCAR).

Après plusieurs essais, j’arrive maintenant à obtenir une réponse cohérente et correcte de mon serveur LDAP avec les commandes

id nomdutilisateur
getent passwd nomdutilisateur
getent group nomdutilisateur

C’est donc que mes fichiers nsswitch.conf et libnss-ldap.conf sont configurés correctement.

Mon problème vient alors certainement de PAM et de ses nombreuses configurations possibles.

Je commençais doucement à m’habituer à la doc d’Ubuntu et à maîtriser quelques petits trucs mais là, je me sens largement dépassé et c’est un problème de ces docs qui disent souvent comment faire mais qui n’explique pas ce qu’on fait. Je prends l’exemple de la configuration de PAM divisée en 4 fichiers: common-account, common-auth, common-password et common-session. Les deux docs sur lesquelles je me suis basées utilisent des options différentes et je n’ai pas la moindre idée de ce qu’elles provoquent…

Entre temps, j’ai trouvé d’autres docs et il me faut maintenant le temps de digérer tout ça…

Deuxième problème pour lequel je n’ai pas encore trouvé vraiment de réponse concrète, c’est la gestion multi-utilisateurs d’Ubuntu… Avec notre dual-boot, je découvre en même temps celle de WindowsXP et pour le vieil habitué de Windows98SE que je suis, le dépaysement est total dans les deux cas… Je vous passe sur les erreurs de débutant du genre Firefox réglé tout beau, tout propre en administrateur qui se retrouve pas beau chez les utilisateurs lambda… ça c’est bon, j’ai pigé le truc… comme pour d’autres logiciels aussi… mais revenons à Ubuntu.

Je ne trouve pas en faisant une recherche sous multi-utilisateurs ou profils comment faire en sorte par exemple que le proxy système reste valable pour tous les utilisateurs ?

Est-ce que lorsque j’installe une application avec synaptic comme FireFox par exemple, tous mes utilisateurs du réseau retrouveront la même configuration ? (mots de passe, vidage du cache, mises à jour).

L’idée est d’éviter pour chaque utilisateur, tous ces écrans de réglages qu’on a en général lors du lancement d’un logiciel la première fois sachant que je ne veux pas de base locale d’utilisateurs sur les postes, mes utilisateurs réseau doivent être authentifiés par le LDAP.

Comment faire pour que tout un groupe d’utilisateurs (les élèves, les profs) ait le même thème (fond d’écran, fenêtres, etc), les mêmes éléments (raccourcis, applications) sur le bureau, etc (ce qui s’appelle les profils sous windows) ? Existe-t-il l’équivalent ou mieux ?

Là encore, toutes vos suggestions sont les bienvenues et en particulier si vous avez déjà expérimenté ces options.

Pour l’instant, nous avons opté pour un compte générique « élève » avec une connexion automatique lors du démarrage du poste et cela permet d’utiliser concrètement Ubuntu avec les élèves (ce qu’a déjà fait Yves et ce que j’ai déjà fait également). Avec Yves et Didier, nous avons fait une liste des éléments à installer pour ce compte local élève et nous avons réalisé un poste modèle que nous avons ensuite déployé sur les autres postes de la salle grâce à OSCAR.

  14 commentaires

OSCAR outil de sauvegarde/restauration

À la fin du mois de janvier, Ubuntu a été installé sur les 17 postes de la salle informatique du collège où je suis enseignant.

Laurent, prof de Mathématiques et PRI (Personne Ressource Informatique), s’est occupé de déployer Ubuntu avec OSCAR, un outil à l’usage des administrateurs réseau, qui permet d’installer facilement une salle complète à partir d’un poste fonctionnel :

Ce billet ne concerne pas directement Ubuntu mais trouvera tout à fait sa place dans nos échanges car il illustre la diversité et l’efficacité dans la communauté des logiciels libres et précisera certaines remarques que j’ai eu l’occasion de faire dans d’autres billets du blog.

En envisageant de déployer Ubuntu en salle informatique au collège, il m’a fallut chercher des outils de déploiement modernes et si possible libres pour limiter les coûts des licences, participer à l’évolution du logiciel et pouvoir l’essayer sans être bridé par une version d’essai souvent techniquement limitée.

Habitué jusqu’à présent à cloner Win98SE sur une seule partition à coup de disquettes Ghost et de multicast, le passage à XP sur de nouvelles machines et le projet d’y mettre Ubuntu m’a fait entrer dans une nouvelle dimension…

Au hasard de mes échanges avec différents collègues, j’ai eu connaissance d’OSCAR qui regroupe différents outils basés sur Gentoo Linux et System Rescue-CD et développé entre autre par JF Tissoires dans l’académie de Lyon.

Pour faire court, mes disques durs SATA 80 Go [sda] sont partitionnés de la manière suivante:

  • Une partition primaire 25 Go NTFS WindowsXP SP2 [sda1]
  • Une partition étendue 55 Go [sda2]
    • Une partition logique 15 Go FAT32 Transfert Images [sda5]
    • Une partition logique 20 Go Ext3 Oscar [sda6]
    • Une partition logique 1 Go SWAP-Linux [sda7]
    • Une partition logique 19 Go Ext3 Ubuntu [sda8]

OSCAR m’a permis de réaliser les partitions du poste modèle puisqu’il contient Gparted et met également en place Grub qui propose le multiboot au démarrage du poste: WinXP, Ubuntu, OSCAR (ce dernier est protégé par mot de passe)… Pour ne brusquer personne, j’ai laissé pour l’instant WinXP par défaut…

Les différents modes de restauration d’OSCAR me permettent de déployer en multicast ( c’est à dire à tous les autres postes de la salle simultanément) le poste modèle et donc aussi le partitionnement ce qui est bien pratique lorsque les postes arrivent du fournisseur avec une seule partition. Je peux évidemment aussi déployer une seule partition à la fois pour faire une mise à jour de XP, d’Ubuntu ou aussi d’OSCAR lui-même… qui évolue très vite… Merci aux développeurs !

D’un point de vue personnel, le plus grand avantage que j’ai trouvé dans OSCAR est le fait que n’importe quelle station peut être serveur de diffusion de sauvegarde puisqu’une des partition contient l’environnement OSCAR et les sauvegardes. Je n’ai plus besoin de disquettes ni surtout d’un portable supplémentaire qui servirait de console de diffusion. C’est vraiment l’idéal dans un environnement homogène, j’arrive presque les mains dans les poches… Petite parenthèse pour XP, OSCAR intègre également le changement automatique du nom du poste, du SID après restauration… les connaisseurs apprécieront; pour Ubuntu, le changement de nom de la station est aussi automatisé.

Finalement, quand je déploie winXP ou Ubuntu pour des mises à jour dans ma salle, je mets de 30 à 45 minutes pour que mes 16 postes soient à nouveau opérationnels ce qui est tout à fait correct dans ma configuration. Évidemment, j’ai au préalable restauré ma sauvegarde sur un poste, mis à jour le système qui en avait besoin et sauvegardé mes modifications avant de déployer. La durée de cette opération initiale est assez variable puisqu’elle dépend des mises à jour des systèmes à réaliser et/ou de la pression plus ou moins forte de mes collègues (Didier par exemple !) pour que j’ajoute tel ou tel logiciel en local. Avant, je ne déployais ma salle que très rarement (car en plus j’avais deux sortes de matériels) pendant les vacances scolaires une à deux fois par an, grosse mise à jour de rentrée comprise. Maintenant, la procédure est tellement confortable que je l’ai fait une fois par semaine depuis début janvier… Rassurez-vous, je vais me calmer et ralentir le rythme, c’était le début, les postes étaient vides et les outils à découvrir…

Projet OSCAR : http://www.crdp-lyon.cndp.fr/oscar/

  12 commentaires