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