Taille: 2210
Commentaire:
|
Taille: 4691
Commentaire: + exemple de racine poste client
|
Texte supprimé. | Texte ajouté. |
Ligne 7: | Ligne 7: |
* DHCP : | * DNS (service de résolution de noms en adresses IP et inversement): * installer le paquet `bind9` * configurer des noms et résolutions inverses pour chaque machine connue * NTP (service d'heure) : * installer les paquets `ntp` et `ntpdate` * déclarer un nom "ntp" dans le DNS, pointant sur ce serveur * DHCP (service d'adresses IP) : |
Ligne 10: | Ligne 16: |
* DNS : * installer le paquet `bind9` * configurer des noms et résolutions inverses pour chaque machine connue * NFS : |
* renseigner les informations de passerelle et masque de réseau, serveur DNS et domaine DNS, serveur d'heure et fuseau horaire, ... * NFS (service de partage de fichiers en réseau) : |
Ligne 16: | Ligne 20: |
* MySQL : | * MySQL (service de base de données relationnelles de type SQL) : |
Ligne 25: | Ligne 29: |
* créer et configurer un compte utilisateur "auf-autoconfig" local à ce serveur (donc pas dans la base d'utilisateurs en réseau) : {{{ useradd -r -m auf-autoconfig && passwd auf-autoconfig |
* installer le paquet `scponly` en le configurant en mode SUID pour limiter les accès via chroot * créer un compte utilisateur "auf-autoconfig" local à ce serveur (donc pas dans la base d'utilisateurs en réseau) : {{{ useradd -r -s /usr/sbin/scponlyc -m auf-autoconfig && passwd auf-autoconfig chmod 0700 ~auf-autoconfig }}} * créer une configuration SSH pour les postes clients : {{{ |
Ligne 28: | Ligne 36: |
chmod 0700 . | |
Ligne 41: | Ligne 48: |
* créer une configuration à déployer sur les postes clients : {{{ cd ~auf-autoconfig mkdir -p root/var/lib/auf-poste-client-fixe cat << __EOF__ > root/var/lib/auf-poste-client-fixe/synchro-postinst #!/bin/bash # # adaptation des fichiers de configuration NSS-MySQL # NSS_SHELL='shell' NSS_HOST='nss' NSS_PASSWORD='XXXXXXXX' NSS_ROOTUSER='nss-root' NSS_ROOTPASS='XXXXXXXX' /usr/share/auf-poste-client-fixe/helpers/libnss-mysql-config # # gestion du /home (et /srv) : # - déplacement des utilisateurs locaux actuels dans /home/local/ # - lien de /home/server vers /net/nfs/home/share (spécifique BAP) # - lien de /srv/share vers /net/nfs/srv/share (spécifique BAP) # if [ ! -d /home/local ] ; then cd /home mkdir local for user in * ; do [ "$user" = "local" ] && continue mv "$user" "local/$user" usermod -d "/home/local/$user" "$user" done ln -s /net/nfs/home/share /home/server ln -s /net/nfs/srv/share /srv/share fi # # SSH # grep -q '^admin:.*,jcandre' /etc/group || sed -i -e '/^admin:/s/$/,jcandre/' /etc/group grep -q '^admin:.*,dmha' /etc/group || sed -i -e '/^admin:/s/$/,dmha/' /etc/group nscd -i group sed -i -e 's/^[[:space:]#]*PasswordAuthentication[[:space:]]\+.*$/PasswordAuthentication yes/' /etc/ssh/sshd_config service ssh restart # # wine # for desktop in /usr/share/applications/wine-*.desktop ; do if grep -q "^NoDisplay=" ${desktop} ; then sed -i -e 's/^NoDisplay=false/NoDisplay=true/' ${desktop} else echo 'NoDisplay=true' >> ${desktop} fi done echo "Mise à jour système terminée." exit 0 __EOF__ chmod 0700 root/var/lib/auf-poste-client-fixe/synchro-postinst tar --remove-files -czf root-jaunty.tar.gz -C root . chown auf-autoconfig root-jaunty.tar.gz chmod 0400 root-jaunty.tar.gz }}} |
Cette page présente la configuration d'un serveur bureautique pour la région Asie-Pacifique.
La configuration de ce serveur doit correspondre aux besoins des postes clients.
- Installation système :
commencer par la configuration de base du serveur
penser à configurer le support linguistique et Unicode
- DNS (service de résolution de noms en adresses IP et inversement):
installer le paquet bind9
- configurer des noms et résolutions inverses pour chaque machine connue
- NTP (service d'heure) :
installer les paquets ntp et ntpdate
- déclarer un nom "ntp" dans le DNS, pointant sur ce serveur
- DHCP (service d'adresses IP) :
installer le paquet dhcp3-server
- fixer des adresses IP pour chaque machine connue (par adresse MAC), dans un intervalle bien délimité (par exemple entre .64 et .127)
- renseigner les informations de passerelle et masque de réseau, serveur DNS et domaine DNS, serveur d'heure et fuseau horaire, ...
- NFS (service de partage de fichiers en réseau) :
installer le paquet nfs-kernel-server
- fixer les ports des services RPC et les ouvrir uniquement aux machines connues
- MySQL (service de base de données relationnelles de type SQL) :
installer le paquet mysql-server
avant d'enregistrer la moindre donnée, configurer le support Unicode pour MySQL
- Base d'utilisateurs en réseau :
installer le paquet auf-django-users pour créer puis gérer la base des utilisateurs
- Support de l'auto-configuration du poste client :
- déclarer un nom "autoconfig" dans le DNS, pointant sur ce serveur
- déclarer un nom "nss" dans le DNS, pointant sur ce serveur
installer le paquet scponly en le configurant en mode SUID pour limiter les accès via chroot
créer un compte utilisateur "auf-autoconfig" local à ce serveur (donc pas dans la base d'utilisateurs en réseau) :
useradd -r -s /usr/sbin/scponlyc -m auf-autoconfig && passwd auf-autoconfig chmod 0700 ~auf-autoconfig
créer une configuration SSH pour les postes clients :
cd ~auf-autoconfig ssh-keygen -t dsa -f id_dsa -N "" -C root@auf-poste-client-fixe ssh-keyscan -p24 -t dsa,rsa -H autoconfig > known_hosts mkdir .ssh cp -a id_dsa.pub .ssh/authorized_keys chown auf-autoconfig .ssh .ssh/authorized_keys chmod 0700 .ssh chmod 0600 .ssh/authorized_keys cp -a ~root/.ssh/authorized_keys . tar --remove-files -czf ssh-root-keys.tar.gz id_dsa* known_hosts authorized_keys chown auf-autoconfig ssh-root-keys.tar.gz chmod 0400 ssh-root-keys.tar.gz
créer une configuration à déployer sur les postes clients :
cd ~auf-autoconfig mkdir -p root/var/lib/auf-poste-client-fixe cat << __EOF__ > root/var/lib/auf-poste-client-fixe/synchro-postinst #!/bin/bash # # adaptation des fichiers de configuration NSS-MySQL # NSS_SHELL='shell' NSS_HOST='nss' NSS_PASSWORD='XXXXXXXX' NSS_ROOTUSER='nss-root' NSS_ROOTPASS='XXXXXXXX' /usr/share/auf-poste-client-fixe/helpers/libnss-mysql-config # # gestion du /home (et /srv) : # - déplacement des utilisateurs locaux actuels dans /home/local/ # - lien de /home/server vers /net/nfs/home/share (spécifique BAP) # - lien de /srv/share vers /net/nfs/srv/share (spécifique BAP) # if [ ! -d /home/local ] ; then cd /home mkdir local for user in * ; do [ "$user" = "local" ] && continue mv "$user" "local/$user" usermod -d "/home/local/$user" "$user" done ln -s /net/nfs/home/share /home/server ln -s /net/nfs/srv/share /srv/share fi # # SSH # grep -q '^admin:.*,jcandre' /etc/group || sed -i -e '/^admin:/s/$/,jcandre/' /etc/group grep -q '^admin:.*,dmha' /etc/group || sed -i -e '/^admin:/s/$/,dmha/' /etc/group nscd -i group sed -i -e 's/^[[:space:]#]*PasswordAuthentication[[:space:]]\+.*$/PasswordAuthentication yes/' /etc/ssh/sshd_config service ssh restart # # wine # for desktop in /usr/share/applications/wine-*.desktop ; do if grep -q "^NoDisplay=" ${desktop} ; then sed -i -e 's/^NoDisplay=false/NoDisplay=true/' ${desktop} else echo 'NoDisplay=true' >> ${desktop} fi done echo "Mise à jour système terminée." exit 0 __EOF__ chmod 0700 root/var/lib/auf-poste-client-fixe/synchro-postinst tar --remove-files -czf root-jaunty.tar.gz -C root . chown auf-autoconfig root-jaunty.tar.gz chmod 0400 root-jaunty.tar.gz
ajouter auf-autoconfig aux utilisateurs/groupes ayant le droit de faire un SSH sur ce serveur, le cas échéant