Modifications entre les versions 7 et 9 (s'étendant sur 2 versions)
Version 7 à la date du 2009-06-10 15:03:07
Taille: 2210
Commentaire:
Version 9 à la date du 2009-07-08 14:47:58
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 :
  • 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) :
  • 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


ZAP/Configuration/Serveur/Bureautique (dernière édition le 2010-03-19 05:19:42 par JeanChristopheAndré)