Aula 44 (Ubuntu). Configuració
Salta a la navegació
Salta a la cerca
Autenticar-se contra el LDAP de l'insitut
$ sudo apt-get install libpam-ldap
- LDAP server URI: ldap://192.168.0.11
- distinguished name of the search base: dc=intracentre
- ldap version: 3
- make local root database admin: no
- Does the LDAP database require login? : no
la llibreria libnss-ldap també ha quedat instal.lada
$ sudo joe /etc/nsswitch.conf
les tres primeres línies queden:
passwd: compat ldap group: compat ldap shadow: compat ldap
$ sudo apt-get install ldap-utils $ sudo apt-get install cifs-utils no el troba (potser no cal) $ sudo apt-get install smbfs $ sudo apt-get install libpam-dev
descarreguem:
$ tar -xvzf pam-script-1.1.4.tar.gz $ cd pam-script-1.1.4/ $ ./configure $ make $ sudo make install
$ ls -la /usr/local/lib/ total 36 -rwxr-xr-x 1 root root 22292 2011-11-17 17:26 pam_script.so
$ sudo joe /usr/local/etc/pam-script.d/pam_script_auth
fitxer pam_script_auth: (amb la configuració de l'insti)
#!/bin/bash
# Això passa si l'usuari ha fet sudo ...
if [ -z "$PAM_USER" ]
then
exit 0
fi
USER=$PAM_USER
# Si és un usuari local no fa falta fer rés
grep $USER /etc/passwd> /dev/null
if [ $? -eq 0 ]
then
# L'usuari és local. Sortim sense fer rés.
exit 0
fi
# Li hem afegit el -w per si de cas
userproperties=$(getent passwd | grep -E -w "^$USER")
if [ -z "$userproperties" ]; then
#
# userproperties not found: something wrong
#
echo "No s'ha trobat l'usuari."
exit
fi;
# Obtenim el directori de l'usuari
DIR_USER=$(echo $userproperties | cut -d ":" -f 6)
# Creem un directori dintre del directori de l'usuari amb el nom d'aquest grup:
if [ ! -d $DIR_USER ]
then
# Creem el directori del grup dins del directori de l'usuari
mkdir -p "$DIR_USER" 2>/dev/null
fi
# Muntem el directori de l'usuari des del servidor al nou deirectori:
mount.cifs //192.168.0.11/$USER $DIR_USER -o user=$USER%$PAM_AUTHTOK
# Esbrinem el tipus d'usuari
TIPUS_USUARI=`echo $DIR_USER | cut -d'/' -f3`
# Això retorna: alumnes professors profes-info o PAS
# Verifiquem el tipus d'usuari:
if [ "$TIPUS_USUARI" = "alumnes" ]
then
# Muntem també el directori del grup si és un alumne.
# Si el grup és professors s'ha de fer un altre cosa
GRUP=`echo $DIR_USER | cut -d'/' -f4`
# Creem un directori dintre del directori de l'usuari amb el nom d'aquest grup:
if [ ! -d $DIR_USER/$GRUP ]
then
# Creem el directori del grup dins del directori de l'usuari
mkdir "$DIR_USER/$GRUP" 2>/dev/null
fi
# Muntem el directori del grup...
mount.cifs //192.168.0.11/$GRUP $DIR_USER/$GRUP -o user=$USER%$PAM_AUTHTOK
elif [ "$TIPUS_USUARI" = "professors" -o "$TIPUS_USUARI" = "profes-info" ]
then
# Si és el grup professors llavors cal crear 2 directoris: Grups i Alumnes i muntar-los
# Creem un directori Alumnes dins del directori de l'usuari. Conté les dades de tots els alumnes ...
# No muntem els 2 directoris d'alumnes i grup.
# No acaba de funcionar correctament ...
exit 0
if [ ! -d $DIR_USER/Alumnes ]
then
# Creem el directori del grup dins del directori de l'usuari
mkdir "$DIR_USER/Alumnes" 2>/dev/null
fi
# Creem un directori Alumnes dins del directori de l'usuari. Conté tots els grups ...
if [ ! -d $DIR_USER/grups ]
then
# Creem el directori del grup dins del directori de l'usuari
mkdir "$DIR_USER/grups" 2>/dev/null
fi
mount.cifs //192.168.0.11/grups $DIR_USER/grups -o user=$USER%$PAM_AUTHTOK
mount.cifs //192.168.0.11/Alumnes $DIR_USER/Alumnes -o user=$USER%$PAM_AUTHTOK
fi
# Si hem arribat aquí retornem sempre 0
exit 0
$ sudo chmod 755 /usr/local/etc/pam-script.d/pam_script_auth
$ sudo joe /etc/pam.d/common-auth
afegim al final dues línies:
# Això ho hem afegit en data: dc set 21 09:54:52 CEST 2011 auth required /usr/local/lib/pam_script.so runas=root expose=1 dir=/usr/local/etc/pam-script.d/
I ja està. Es pot tancar la sessió i entrar amb un usuari del domini: jquintan (profe), o invitado/odati09 (alumne). Els alumnes veuen les carpetes en el servidor.
creat per Joan Quintana Compte, novembre 2011