brouillon
Objectif et principes
Ce paquet configure un poste client de l'AUF :
- activation de l'authentification centralisée MySQL
activation de l'auto-monteur NFS sur /net
- mise en place d'un bureau GNOME par défaut
auto-configuration en fonction de données fournies par le serveur DHCP, et de fichiers téléchargés sur le serveur d'auto-configuration. Pour que ce système fonctionne, il faut une infrastructure côté serveur (voir ../InfrastructureServeur)
installation d'un ensemble de logiciels, via une dépendance (optionnelle) sur le paquet auf-poste-client-logiciels
Principe et utilisation du système d'auto-configuration
à écrire.... (oui, je sais... hé... ho... c'est marqué brouillon en faut de la page)
- la config sera téléchargée par SSH à chaque connexion DHCP
- pour cela, le compte root doit avoir les clés SSH pour télécharger ce qu'il faut à chaque requete DHCP
Fonctionnement détaillé
Les sources complètes du paquet sont ici : http://git.auf.org/?p=auf-poste-client.git;a=tree;f=auf-poste-client-fixe
Le paquet auf-poste-client-fixe utilise les principes d'un paquet Debian :
Dépendances
debian/control : dépendances sur les paquets que l'on veut installer : libnss-mysql-bg, nscd, autofs, nfs-common, quota, ssh, rwhod, sshfs, lvm2, quota, etc. Le paquet recommande également l'installation de auf-poste-client-logiciels.
Contenu du paquet (principalement des fichiers de configuration)
Le paquet contient des fichiers qui seront installés sur le poste client (voir détails dans le Makefile qui construit le contenu du paquet) :
etc : ensemble de fichiers de configuration par défaut, placés dans le répertoire /etc du poste client :
etc/dhcp3/dhclient.conf : configuration de dhclient en ajoutant les paramètres auf-nfs-timeout, auf-nfs-options et auf-synchro-root qui seront envoyés aux hooks DHCP (voir les scripts dhclient-exit-hooks.d/auf-* décrits plus haut ci-dessus)
etc/NetworkManager/dispatcher.d/99auf-dhclient-exit-hooks : astuce pour demander à NetworkManager d'exécuter les hooks dhclient lors d'une connexion DHCP
etc/libnss-mysql.cfg : fichier contenant les requêtes SQL que doit effectuer libnss-mysql-bg.
etc/modprobe.d/ipv6-off.conf : désactivation d'IPv6 (un peu bête, mais c'est temporaire : IPv6 pose parfois des soucis quand il est activé sur des réseaux mal fichus...)
etc/sysctl.d/90-auf-poste-client.conf : sysctl, actuellement ne contient que l'activation de la réponse au pings broadcast
etc/dhclient-exit-hooks.d : scripts lancés lors de l'obtention d'une adresse par DHCP. Ils sont chargés de la configuration de la machine en fonction de son emplacement sur le réseau :
etc/dhclient-exit-hooks.d/auf-hostname : prend comme nom de machine le nom obtenu par requête DNS inverse
etc/dhclient-exit-hooks.d/auf-autofs-nfs : modification des options de montage NFS (paramètres spécifiques à l'AUF)
etc/dhclient-exit-hooks.d/auf-synchro-root : auto-configuration, récupère un .tar.gz sur le serveur et l'installe à la racine
usr/sbin/auf-poste-client-fixe-synchro-init : script pour initier la synchro qui sera faite par DHCP. C'est le script qui télécharge et installe les clés SSH pour le compte root du poste client. Une fois cela fait, le compte root aura le droit d'aller chercher les données d'auto-configuration.
Script lancé après la copie de ces fichiers (postinst, post-installation)
Une fois que ces fichiers sont installés, le paquet lance un script de post-installation (voir debian/postinst) qui va travailler avec les données suivantes :
postinst : scripts lancés après l'installation du paquet (par le postinst) pour activer, désactiver et/ou configurer divers services :
- configuration système :
usr/share/auf-poste-client-fixe/postinst/nss-mysql : activation de l'authentification MySQL par ajout de "mysql" dans /etc/nssswitch.conf
usr/share/auf-poste-client-fixe/postinst/autofs-net : activation de l'automontage NFS sur /net par ajout de /net dans /etc/auto.master
usr/share/auf-poste-client-fixe/postinst/cups-pdf : l'imprimante virtuelle PDF imprime dans ~/Bureau ; modification des droits de cups en conséquence
usr/share/auf-poste-client-fixe/postinst/no-bluetooth : désactivation du système bluetooth
usr/share/auf-poste-client-fixe/postinst/sshd-config : on ferme le ssh (pas de connexion par mot de passe, groupes admin et root uniquement)
usr/share/auf-poste-client-fixe/postinst/vimrc-local : un vim configuré comme Thomas aime
- améliorations/nettoyage des sessions et bureau GNOME
usr/share/auf-poste-client-fixe/postinst/gconf : ajout de configurations GNOME (gconf) spécifiques à la version d'Ubuntu installée, si dispo dans /usr/share/auf-poste-client-fixe/gconf/
usr/share/auf-poste-client-fixe/postinst/no-autostart : désactivation de certains autostart des session GNOME
usr/share/auf-poste-client-fixe/postinst/applications-nodisplay : dans les menus, on cache les applications qui ne marchent pas à 100% et/ou qui sont ambigües pour les utilisateurs lambda
usr/share/auf-poste-client-fixe/postinst/thunderbird-office : on affiche Thunderbird dans le menu Bureautique (remplace vraiment Evolution)
usr/share/auf-poste-client-fixe/postinst/update-manager-prompt-never : ne jamais proposer l'update de la machine vers une nouvelle version d'Ubuntu
- configuration système :
debian/gconf-defaults : configuration d'un bureau GNOME par défaut (base, voir aussi les configurations spécifiques à la version d'Ubuntu installée sur la machine, qui seront placé dans usr/share/auf-poste-client-fixe/gconf sur le poste client)