'''Quelques notes en vrac pour auf-client-fixe le 20 octobre 2010 : concernent une lucid '''

== Sur le client ==

 * Installer la bécane lucid avec le miroir local
 * Install des pilotes proprio
 * Mettre les lignes :
{{{
 deb http://apt.auf.org/ lucid-experimental auf
 deb http://apt.auf.org/ lucid-test auf # Nécessaire pour avoir auf-client-fonds-d-ecran, auf-client-logiciels, autres
}}}
dans /etc/apt/sources.list
 * Puis aptitude update && aptitude install auf-keyring et aptitude update
 * Redémarrage
 * Ensuite install de auf-client-fixe en acceptant la modif du dhclient.conf qui ajoute des options dhcp notamment auf-nfs-options necessaires pour préciser le NFSv4
 * Quelques fichier à voir : /etc/nsswitch.conf, /etc/auto.master, /etc/auto.net : normalement, tout y est.
 * Se connecter en tant que root et faire mv /home /home.local 
 * Modifier les utilisateurs locaux (/etc/passwd)
 * Mettre à jour les fichiers /etc/libnss-mysql.cfg /etc/libnss-mysql-root.cfg
 * Tester que les montages nfs se font et que les utilisateurs mysql sont visibles.
 * Faire des liens : ln -s /net/nfs/home /home
 * Alors l'histoire de la création automatique de répertoire de base des utilisateurs :
  * Ajouter la ligne ci-dessous dans /etc/pam.d/common-session (ne surtout pas se tromper)
 
{{{
session	optional			pam_exec.so /usr/sbin/auf-mkhomedir
}}}
  * Puis créer ce fichier /usr/sbin/auf-mkhomedir avec ces octets :
{{{
#!/bin/sh

# Ce script est executé lors de la connexion d'un utilisateur
# (exactement, lors du lancement de la session)
# Il vérifie si l'utilisateur dispose d'un répertoire de connexion.
# Si ce n'est pas le cas, il demande au serveur de créer ce répertoire.
#
# Note : il faut qu'un service soit présent sur le serveur qui écoute
# ----   les demandes de création des postes clients. Voir .... FIXME
#
# Note : ce script est exécuté via PAM. Pour l'activer, la ligne suivante
# ----   doit être présente dans /etc/pam.d/common-session:
#
#          session  optional pam_exec.so  /usr/sbin/auf-mkhomedir
#


debug() {
	logger -t $0 -i -p auth.debug "$@"
}

if [ -z "$PAM_USER" ]
then
	echo "variable PAM_USER vide"
	logger -t $0 -i -p auth.error "variable PAM_USER vide"
	exit 10
fi

# protection : on nettoie la variable PAM_USER
LOGIN=`echo $PAM_USER | tr -dc A-Za-z0-9_.@-`

# si le compte n'existe pas : on sort
if ! id ${LOGIN} > /dev/null
then
	echo "login <${LOGIN}> introuvable"
	logger -t $0 -i -p auth.info "login <${LOGIN}> introuvable"
	exit 11
fi

# on cherche le homedir du compte
HOMEDIR=`getent passwd ${LOGIN} | cut -d: -f6`

# si le répertoire n'existe pas, on va le créer
if [ ! -e ${HOMEDIR} ]
then
	# si le homedir correspond à un lien symbolique, on le suit
	# (exemple type : /home -> /net/nfs.refer.sn)
	REAL_HOMEDIR=`readlink -f ${HOMEDIR}`
	ISNET=`echo ${REAL_HOMEDIR} | cut -f2 -d/`
	if [ ${ISNET} = 'net' ]
	then
		# si on est sur /net, il faut envoyer la commande
		# au serveur indiqué dans la seconde partie du nom
		SERVEUR=`echo ${REAL_HOMEDIR} | cut -f3 -d/`
	else
		# sinon, on envoie au serveur nommé "nfs"
		SERVEUR='nfs'
	fi
	#
	# on envoie la commande "mkdir" au serveur
	#
	echo "mkdir ${LOGIN}" | nc -w 20 ${SERVEUR} 10 
fi

}}}

  * Puis un chmod +x /usr/sbin/auf-mkhomedir

 * Installer ensuite les paquets qu'on veut, notamment auf-client-fonds-d-ecran, auf-client-logiciels, autres.

== Sur le serveur ==
Voir [[RogerYerbanga/début-auf-poste-client-fixe]] ou attendre la doc de ThomasNoël et NdimbyAndriantsoavina qui travaillent plus sérieusement dessus.