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

Sur le client

 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

session optional                        pam_exec.so /usr/sbin/auf-mkhomedir

# 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

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.

RogerYerbanga/début-auf-client-fixe (dernière édition le 2011-02-08 08:32:16 par FranckKouyami)