Aula 44 (Ubuntu). Configuració

De Wikijoan
Dreceres ràpides: navegació, cerca

Autenticar-se contra el LDAP de l'insitut

$ sudo apt-get install libpam-ldap

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

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
IES Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines