PAM : Installer pam mkhomedir pour la création automatique des home utilisateurs

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

Vous êtes peut être comme moi dans un cas ou vous avez votre Solaris connecté sur un serveur LDAP ou autre. et le problème c'est la création automatique des home directory pour les utilisateurs qui se connectent. Après 2/3 heures de galères, j'ai fini par réussir à compiler et configurer le tout.

Je livre donc ma petite doc pour faire gagner du temps à certains.

2 Prérequis

Tout d'abord, il va vous falloir un petit package pour vous éviter ce type d'erreurs :

ld: fatal: file values-Xa.o: open failed: No such file or directory

Pour éviter le problème, installez le pacjage SUNWarc :

Command
pkgadd -d . /cdrom/cdrom0/Solaris_10/Product/SUNWarc

Il va également falloir installer gcc :

Command pkg-get
pkg-get install gcc4core gcc4g++

Puis, nous allons ajoutez tout ceci dans notre path :

Command
export PATH=$PATH:/opt/csw/gcc4/bin
export CC=gcc

3 Compilation

Nous allons pouvoir passer à la compilation.

Command
wget http://www.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-0.81.tar.bz2
./configure
cp _pam_aconf.h libpam/include/security
cd modules/pammodutil
gcc -c -O2 -D_REENTRANT -DPAM_DYNAMIC -Wall -fPIC -I../../libpam/include -I../../libpamc/include -Iinclude modutil_cleanup.c
gcc -c -O2 -D_REENTRANT -DPAM_DYNAMIC -Wall -fPIC -I../../libpam/include -I../../libpamc/include -Iinclude modutil_ioloop.c
gcc -c -O2 -D_REENTRANT -DPAM_DYNAMIC -Wall -fPIC -I../../libpam/include -I../../libpamc/include -Iinclude modutil_getpwnam.c -D_POSIX_PTHREAD_SEMANTICS
cd ../pam_mkhomedir
gcc -c -O2 -D_REENTRANT -DPAM_DYNAMIC -Wall -fPIC -I../../libpam/include -I../../libpamc/include -I../pammodutil/include pam_mkhomedir.c
/usr/ccs/bin/ld -o pam_mkhomedir.so -B dynamic -G -lc pam_mkhomedir.o ../pammodutil/modutil_*.o

4 Installation

Pour l'installer, c'est ensuite assez simple. Toujours dans les sources, effectuez :

Command
cp pam_mkhomedir.so /usr/lib/security/pam_mkhomedir.so.1
cd /usr/lib/security
ln -s pam_mkhomedir.so.1 pam_mkhomedir.so
chown root:bin pam_mkhomedir.so.1

C'est tout :-)

5 Configuration

Pour la configuration, nous allons simplement éditer pam.conf et rajouter cette ligne :

Configuration File /etc/pam.conf
...
# Default definition for Session management
# Used when service name is not explicitly mentioned for session management
#
other   session required        pam_unix_session.so.1
other   session required        pam_mkhomedir.so.1 skel=/etc/skel/ umask=0022
...

Vous pouvez maintenant vous connecter et obtiendrez ceci avec la première connexion d'un utilisateur :

Creating directory '/home/pmavro'.

6 Ressources

http://www.webservertalk.com/message1674632.html
http://osdir.com/ml/linux.pam/2006-12/msg00018.html