Ubuntu Jaunty + auf-poste-clients-fixe

Installation via réseau

$ sudo passwd root

$ sudo vi /etc/apt/sources.list
deb http://apt.auf.org/ jaunty auf

Infrastructure serveur

Sur le DNS

déclarer dans la zone DNS de la salle la machine autoconfig

autoconfig      IN      CNAME   serveur
nfs     IN      CNAME   serveur
ntp     IN      CNAME   serveur

Sur le serveur autoconfig

Créer un compte utilisateur auf-autoconfig local à ce serveur

$ sudo useradd -m auf-autoconfig
$ sudo passwd auf-autoconfig
$ sudo 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 -R auf-autoconfig .ssh
chmod 0700 .ssh
chmod 0600 .ssh/authorized_keys
cat /root/.ssh/id_dsa.pub >> .ssh/authorized_keys
cat /root/.ssh/id_rsa.pub >> .ssh/authorized_keys
tar -czvf ssh-root-keys.tar.gz *
chown auf-autoconfig ssh-root-keys.tar.gz
chmod 0400 ssh-root-keys.tar.gz

Télécharger l'archive root-jaunty.tar.gz, décompressez, adapter les fichiers à votre configuration :

mkdir root-jaunty
tar xzvf root-jaunty.tar.gz -C root-jaunty/

vi root-jaunty/etc/libnss-mysql.cfg

host        sereur-mysql
database    bd-authnss
username    user-authnss
password    mot-de-passe-user-authnss
timeout     3
compress    0

vi root-jaunty/etc/libnss-mysql-root.cfg

username    root-authnss
password    mot-de-passe-root-authnss

vi root-jaunty/var/lib/auf-poste-client-fixe/synchro-postinst

#!/bin/sh

if [ ! -e /home ]; then
        ln -s /net/nfs.cai/home /
fi

if [ ! -e /home2 ]; then
        ln -s /net/nfs.cai/home2 /
fi

Puis re-compressez :

cd root-jaunty/
tar czvf root-jaunty.tar.gz etc/ var/
cp root-jaunty.tar.gz ../
chown auf-autoconfig root-jaunty.tar.gz

Sur le Serveur NFS

Créer le fichier vi /usr/local/bin/pam_inetd_mkhomedir, et y mettre le script ci dessous et le rendre exécutable :

while read COMMAND LOGIN_EXT RESTE
do
  if [ ${COMMAND} != "mkdir" ] ; then
      echo "commande inconnue : $COMMAND"
      exit 1
  fi

  LOGIN=`echo $LOGIN_EXT | tr -dc A-Za-z0-9_.-@`

  if ! id "${LOGIN}" > /dev/null
      then
        echo "$0 erreur : login $LOGIN introuvable" >&2
        exit 1
  fi

  HD=`getent passwd ${LOGIN}|cut -d: -f 6`

  if [ ! -e ${HD} ]
  then    
        mkdir -pv  ${HD} >> /var/log/mkdir.log 2>&1
        cd ${HD}
        chown -R $LOGIN:users ${HD} 
        chmod 700 ${HD} 
        PART=`df -Pl ${HD} | tail -1 | cut -d' ' -f1`
        /usr/sbin/quotatool -u $LOGIN -b -l 800000 -q 800000  ${PART}
        echo $(date) mkdir $HD >>/var/log/mkdir.log
        exit 0
  else
      echo "$HD existe" 
      exit 1
  fi
done

Ajouter dans /etc/inetd.conf la ligne suivante :

10 stream tcp nowait root /usr/sbin/tcpd /usr/local/bin/pam_inetd_mkhomedir

Sur le DHCP

Fixer les adresses IP des machines.

Coté client

Installation de la clé du dépôt AUF :

$ sudo aptitude update ; aptitude install auf-keyring ; aptitude update

Installation du paquet :

sudo aptitude install auf-poste-client-fixe ; aptitude safe-upgrade

Déplacer le répertoire de base des utilisateurs locaux

sudo mv /home /home.local

Adapter le /etc/passwd en fonction du renommage du /home

sudo vi /etc/passwd
admindesktop:x:1000:1000:Local Administrator,,,:/home.local/admindesktop:/bin/bash

Finalisation de l'installation

sudo /usr/sbin/auf-poste-client-fixe-synchro-init

Créer le lien sur /home si ce n'est pas fait

sudo ln -s /net/192.168.0.1/home /home

Ajuster les paramètres de montage NFS

sudo vi /etc/auto.master

/net    /etc/auto.net --timeout=3600 

Verifier les config de /etc/libnss-mysql.cfg et /etc/libnss-mysql-root.cfg

less /etc/libnss-mysql.cfg
less /etc/libnss-mysql-root.cfg

Activer le création du homedir via serveur distant lors de la connexion

sudo pam-auth-update

Supprimer la liaison sur l'adresse mac

sudo rm /etc/udev/rules.d/70-persistent-net.rules

redémarrer et c'est OK!

Duplication

Ce qui ne marche pas ou pas encore

Connexion impossible pour les nouveaux utilisateurs

Le problème

Les nouveaux utilisateurs crées par auf-django-users n'arrive pas à se logger :

Erreur : 
Pas de répertoire, connexion avec HOME=/

La solution

Le problème est coté serveur. Celui utilise la /etc/passwd pour rechercher les users et donc n'authifie pas les users de la BD lors de l'exexution de auf-mkhomedir.

Installer le paquet libnss-mysql-bg pour que la bibliothèque de résolution de nom (nss = name service switch) sache interroger MySQL

sudo aptitude install libnss-mysql-bg

Configurer libnss-mysql-bg dans les deux fichiers /etc/libnss-mysql.cfg et /etc/libnss-mysql-root.cfg

sudo vi /etc/libnss-mysql.cfg
sudo vi /etc/libnss-mysql-root.cfg

Activer le module mysql de NSS :

sudo vi /etc/nsswitch.conf

# (... extrait de /etc/nsswitch.conf pour y ajouter mysql ...)
passwd:         files mysql
group:          files mysql
shadow:         files mysql

Redemarrer le name service cache daemon

sudo /etc/init.d/nscd restart

Documentation sur le wiki

StefanoAmekoudi/Note/AufPosteClient (dernière édition le 2010-02-02 13:27:41 par StefanoAmekoudi)