Вы находитесь на странице: 1из 28

Anne 2012-2013

Cration
dun contrleur
de domaine sous
Linux

Samuel Chevalley

Sommaire
1. Les grandes tapes de la mise en place du contrleur de domaine ............................................... 3
1.1.
Cration de lespace de travail ............................................................................................ 3
1.2.
Installation dOpenLDAP (version2.4.23) ............................................................................ 4
1.2.1.
Les paquets ...................................................................................................................... 4
1.2.2.
Configuration de base du serveur LDAP .......................................................................... 5
1.3.
Rendre OpenLDAP compatible Samba ............................................................................. 7
1.4.
Installation de Samba (version3.5.6) ................................................................................. 11
1.5.
Configuration de Smbldap-tools........................................................................................ 15
1.6.
Cration de larbre LDAP ................................................................................................... 16
1.7.
Gestion des profils itinrants en Franais ......................................................................... 16
1.7.1.
Cration dun groupe .................................................................................................... 17
1.7.2.
Cration dun utilisateur................................................................................................ 17
1.7.2.1.
Vrification de la bonne cration .............................................................................. 17
1.7.3.
Cration des lecteurs rseaux ....................................................................................... 18
1.8.
Configuration des clients LDAP ......................................................................................... 19
1.8.1.
Clients GNU/Linux ......................................................................................................... 19
1.8.2.
Clients Windows ............................................................................................................ 20
1.9.
Installation de Phpldapadmin............................................................................................ 22
2.
En rsum .................................................................................................................................. 23
Annexes ................................................................................................................................................. 24

1. Les grandes tapes de la mise en place du contrleur de


domaine
1.1.

Cration de lespace de travail

Avant de se lancer dans la configuration dun contrleur de domaine, il faut commencer par
avoir un systme dexploitation sur lequel installer les composants ncessaires la ralisation
du projet.
Mon tuteur ma donc propos de me crer une machine virtuelle (VM) dune Debian Squeeze
(distribution libre GNU/Linux) sur Proxmox (virtualiseur sous GNU/Linux utilis dans
lentreprise) avec pour seul configuration :
Le nom de la VM (son nom NetBIOS) : LDAP1
La configuration rseau :
o IP : 192.168.5.149/24
o DNS : 192.168.5.100
o Passerelle : 192.168.5.1
Un accs root (super utilisateur)
Me voila donc avec un systme et un accs rseaux, nous allons maintenant mettre jours la
Debian afin de profiter des dernier packages disponibles, pour cela il faut tout dabord ce
connecter la VM en SSH (Secure Shell) laide dun mulateur de terminal comme Putty.
De plus, pour effectuer toutes les oprations qui suivront, nous serons logu avec le super
utilisateur root.
Sous GNU/Linux la commande effectuer est assez simple pour mettre jour un systme, il
suffit de taper :
root@LDAP1:~#apt-get update && apt-get upgrade
Nous voici donc avec un systme dexploitation sein et fonctionnel.
Il reste seulement un petit pr-requis avant de commencer linstallation dOpenLDAP et de
Samba, il faudra juste rajouter une ligne au fichier hosts (fichier permettant la rsolution de
nom).
Nous allons donc ouvrir ce fichier grce lditeur vi (on aurait aussi pu choisir gedit ou
nano) :
root@LDAP1:~#vi /etc/hosts
Et nous rajoutons une ligne son contenu :
192.168.5.149 LDAP1.clin LDAP1
Cette ligne indique notre serveur que ladresse IP 192.168.5.149 correspond LDAP1.clin
ou LDAP1 (clin est le nom de notre futur domaine), il ne sera donc pas perdu et saura que
cest de lui quil sagit si dans certains fichiers de configuration nous notons son nom ou son
adresse IP (au lieu de 127.0.0.1 qui signifie lui-mme).

Modifier debconf :
root@CI_LDAP1:~#dpkg-reconfigure debconf
Slectionner Dialogue puis Intermdiaire.
Nous pouvons donc dbuter et allons commencer par installer et configurer OpenLDAP qui
fournira le systme de base pour l'authentification des utilisateurs. Ensuite, on configurera le
systme pour qu'il s'appuie intgralement sur OpenLDAP, et on installera Samba pour
pouvoir partager des fichiers. Il y aura un disque rseau par utilisateur, et un disque partag
entre tous les utilisateurs.

1.2.

Installation dOpenLDAP (version2.4.23)

1.2.1. Les paquets


Commenons par installer les paquets ncessaires :
root@LDAP1:~#apt-get install slapd ldap-utils
Rpondre aux questions suivantes :
Faut-il omettre la configuration d'OpenLDAP ? Non
Nom de domaine : clin
Nom de votre organisation : clin.local
Mot de passe administrateur : tototata
Faut-il autoriser le protocole LDAPv2 : Non
Note importante : le mot de passe entr ici correspond l'utilisateur
cn=admin,dc=clininfo,dc=local (il sagit de la notation utilis par OpenLDAP pour dfinir
notre annuaire, dont la racine est local et la sous racine clin). Cet utilisateur (Administrateur
de larbre LDAP) est diffrent du super utilisateur (le compte root du serveur) qui sera dclar
plus tard. Cependant pour viter les confusions, on veillera prendre toujours le mme mot de
passe (donc le mot de passe du super utilisateur root du serveur Debian).

Vrifions que la configuration de base a bien t prise en compte :


root@LDAP1:~#ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn

#Commande : ldapsearch (effectue une recherche dans larbre ldap) LLL (sans les
informations inutiles) -Y EXTERNAL (sans authentification) H ldapi:/// (spcifiant
lurl ldap, ici en partant de la racine de larbre) b cn=config dn (retournant les
informations contenant cn=config et dn ()
Rsultat renvoy par la commande prcdente, nous devons obtenir ceci :
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
dn: cn=config
dn: cn=module{0},cn=config
dn: cn=schema,cn=config
dn: cn={0}core,cn=schema,cn=config
dn: cn={1}cosine,cn=schema,cn=config
dn: cn={2}nis,cn=schema,cn=config
dn: cn={3}inetorgperson,cn=schema,cn=config

dn: olcBackend={0}hdb,cn=config
dn: olcDatabase={-1}frontend,cn=config
dn: olcDatabase={0}config,cn=config
dn: olcDatabase={1}hdb,cn=config

Afin de mieux comprendre, voici quoi correspondent les attributs utilis par le protocole
LDAP :
dn distinguished name.
cn common name.
gn given name c'est dire le prnom.
sn surname.
l locality name.
st state or province name.
ou organisational unit.
dc domain component.
o organization name.
Attention, nom de domaine et nom dorganisation (arbre LDAP) sont 2 choses diffrentes,
voici quoi correspondra la fin de la mise en place, notre arbre LDAP :
dc=local
|
dc=clin
/
ou=Computers

/
ou=groups

\
ou=Idmap

\
ou=Users

(Cest pour cela que nous avons mis clin.local au dessus)

1.2.2. Configuration de base du serveur LDAP


Nous allons maintenant, pour plus de scurit, recrer le mot de passe de ladministrateur de
larbre LDAP renseign prcdemment mais chiffr cette fois ci (car le mot de passe
apparaitra en clair dans les fichiers de configurations) :
root@LDAP1:~#slappasswd
New password : tototata
Re-enter new password : tototata
Nous obtenons notre mot de passe sous la forme suivante :
{SSHA}Y4m58WY9h057RZ2UbcAbW1wsT0C84jG4
(Notons-le !)
Nous modifions ensuite larbre afin de lui indiquer notre nouveau mot de passe chiffr :
root@LDAP1:~#ldapmodify -Y EXTERNAL -H ldapi:///
#Commande : Sous LDAP, ldapmodify permet de modifier une entre (ici la racine
comme tout lheure)

Nous obtenons ceci :


SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0

Il suffit de rajouter la suite (puis Ctrl + D pour quitter) :


dn: olcDatabase={0}config,cn=config
add: olcRootPW
olcRootPW: {SSHA}Y4m58WY9h057RZ2UbcAbW1wsT0C84jG4
olcRootPW correspond ladministrateur de larbre (dont nous avons pu crer un mot de
passe chiffr prcdemment grce la comment slappasswd).
Nous allons ensuite crer un fichier.ldif (les fichiers avec lextension ldif permettent de
modifier larbre LDAP sans avoir relancer le dmon) afin dajouter des restrictions daccs
larbre.
Crons donc le fichier config.ldif (que nous plaons dans /etc/ldap (rpertoire dOpenLDAP
cr automatiquement son installation) par exemple):
root@LDAP1:~# vi /etc/ldap/config.ldif
Et ajouter dedans :
dn: olcDatabase={1}hdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: to attrs=userPassword by
dn="cn=admin,dc=clin,dc=local" write by anonymous auth by self
write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=clin,dc=local" write by *
read
#Commande :
dn: olcDatabase={1}hdb,cn=config : Nous voulons changer la
configuration de base
changetype: modify : On effectue une modification
replace: olcAccess : On veut remplacer les olcAccess
(restriction daccs ou encore appel ACL )
olcAccess: to attrs=userPassword by
dn="cn=admin,dc=clin,dc=local" write by anonymous auth by
self write by * none
olcAccess: to attrs=shadowLastChange by self write by *
read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=clin,dc=local" write by
* read
On indique ici que ladministrateur de larbre a tous les droits (lecture et criture sur
larbre) et les que les autres utilisateurs ou anonymes nont que le droit de lecture de
larbre.

Il faut maintenant rendre ce fichier config.ldif effectif :


root@LDAP1:~#ldapmodify -Y EXTERNAL -H ldapi:/// -f
/etc/ldap/config.ldif
Cette commande nous renvoie:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}hdb,cn=config"

Apparemment a a fonctionn : modifying entry "olcDatabase={1}hdb,cn=config"


Nous vrifions quand mme avec :
root@LDAP1:~#ldapsearch -xLLL -b cn=config -D
cn=admin,cn=config -W olcDatabase={1}hdb
Rsultat:
dn: olcDatabase={1}hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcDbDirectory: /var/lib/ldap
olcLastMod: TRUE
olcRootPW: {SSHA}XXXXXXXXXXZZZZZZZZZZZZZZZ
olcDbCheckpoint: 512 30
olcDbConfig: {0}set_cachesize 0 2097152 0
olcDbConfig: {1}set_lk_max_objects 1500
olcDbConfig: {2}set_lk_max_locks 1500
olcDbConfig: {3}set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcSuffix: dc=clin,dc=local
olcRootDN: cn=admin,dc=clin,dc=local
olcAccess: {0}to attrs=userPassword by dn="cn=admin,dc=clin,dc=local" write
by anonymous auth by self write by * none
olcAccess: {1}to attrs=shadowLastChange by self write by * read
olcAccess: {2}to dn.base="" by * read
olcAccess: {3}to * by dn="cn=admin,dc=clin,dc=local" write by * read

Notre configuration est donc jour !

1.3.

Rendre OpenLDAP compatible Samba

Pour son fonctionnement, OpenLDAP utilise des schmas (dfinition dattributs comme ceux
vu plus haut (dn, given name)), nous devons donc inclure le schma de Samba (afin
dinclure ses attributs OpenLDAP).
Obtenir le schma de Samba :
Installer le package de documentation de Samba (qui contient le schma) :
root@LDAP1:~#apt-get install samba-doc

Copier ce qui nous intresse (le schma) dans le rpertoire dOpenLDAP contenant les
schmas:
root@LDAP1:~#cp /usr/share/doc/sambadoc/examples/LDAP/samba.schema.gz /etc/ldap/schema/
D-zipper larchive :
root@LDAP1:~#gzip -d /etc/ldap/schema/samba.schema.gz

Nous allons crer un fichier o nous allons inclure tous les schmas dj prsents sur
OpenLDAP sans oublier de rajouter celui de Samba :
root@LDAP1:~#vi schema_convert.conf
Copier dedans ce qui suit :
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/samba.schema

Grce la commande qui va suivre, nous allons prendre toutes les lignes du ficher
schema_convert.conf afin de crer un fichier de configuration des attributs de Samba pour
OpenLDAP :
root@LDAP1:~#mkdir /etc/ldap/ldif_output
root@LDAP1:~#slapcat -f schema_convert.conf -F
/etc/ldap/ldif_output -n0 -s
"cn={12}samba,cn=schema,cn=config" > /etc/ldap/cn=samba.ldif
Ceci nous a donc cr le fichier de configuration nomm cn=samba.ldif, nous devons
effectuer tout de mme quelques modifications :
root@LDAP1:~#vi /etc/ldap/cn=samba.ldif
Dans les premire lignes du fichier il faut effacer les {12} afin dobtenir ceci :
dn: cn=samba,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: samba

Et supprimer les lignes suivantes places tout en bas du fichier :


structuralObjectClass: olcSchemaConfig
entryUUID: bd8a7a82-3cb8-102f-8d5f-070b4e5d16f8
creatorsName: cn=config
createTimestamp: 20104714525953Z
entryCSN: 20100815125153.192505Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20100815122153Z

Il suffit maintenant de rendre ce fichier effectif :


root@LDAP1:~#ldapadd -Y EXTERNAL -H ldapi:/// -f
/etc/ldap/cn=samba.ldif
#Commande : ldapadd permet dajouter une entre larbre LDAP (tout lheure
nous modifions lentre avec ldapmodify mais ici cest une nouvelle entre (un
nouveau schma)).
Rsultat :
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=samba,cn=schema,cn=config"
La dfinition du schma tant faite, il ne reste plus qu crer les indexes (ce sont des sortes
dattributs que Samba utilise pour, par exemple, associer un utilisateur un groupe) utiliss
pas Samba.
Pour ce faire, nous crons comme dhabitude un fichier.ldif nomm samba_indexes.ldif :
root@LDAP1:~#vi /etc/ldap/samba_indexes.ldif
On y copie dedans tous les indexes utiliss par Samba :
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: loginShell eq
olcDbIndex: uid eq,pres,sub
olcDbIndex: memberUid eq,pres,sub
olcDbIndex: uniqueMember eq,pres
olcDbIndex: sambaSID eq
olcDbIndex: sambaPrimaryGroupSID eq
olcDbIndex: sambaGroupType eq
olcDbIndex: sambaSIDList eq
olcDbIndex: sambaDomainName eq
olcDbIndex: default sub

Et on rend le fichier effectif :


root@LDAP1:~#ldapmodify -Y EXTERNAL -H ldapi:/// -f
samba_indexes.ldif
Rsultat:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}hdb,cn=config"

Afin dtre sr quOpenLDAP a bien pris en considration toutes nos modifications (et
malgr le faite que les fichiers.ldif sont la pour a), nous redmarrons tout de mme le
dmon :
root@LDAP1:~#/etc/init.d/slapd restart
Stopping OpenLDAP: slapd.
Starting OpenLDAP: slapd.
partir de la, je suis all vrifier les logs afin de savoir si il y avait prsence derreurs. Pour
se faire utiliser la commande suivante :
root@LDAP1:~#vi + /var/log/syslog
#Commande : vi est un diteur de texte, + permet daller directement la fin du
fichier et /var/log/syslog est le chemin pour accder aux logs dOpenLDAP (et de
Samba).
En scrutant le fichier, je me suis rendu compte quil manquait des olcDbIndex, nous allons
donc les rajouter en utilisant une autre mthode que linjection de fichiers.ldif (moins
conseille car plus propice aux erreurs) afin de montrer cette autre possibilit (comme ce nest
pas un fichier.ldif, il ny aura donc pas son avantage principal qui est la modification
instantan de la configuration LDAP, il nous faudra donc arrter le dmon pour effectuer la
modification).
On commence par arrter le dmon OpenLDAP :
root@LDAP1:~#service slapd stop
On ouvre le fichier de configuration de la base LDAP (ce fichier ce nomme
olcDatabase\=\{1}hdb.ldif) qui est lui-mme un fichier.ldif :
root@LDAP1:~#vi
/etc/ldap/slapd.d/cn\=config/olcDatabase\=\{1}hdb.ldif
On parcourt ensuite ce fichier jusqu trouver les lignes dbutants par olcDbIndex (elles se
trouvent sous les lignes olcDbConfig), il suffit de les supprimer et de copier les lignes cidessous (contenants tous les types dolcDbIndex possibles dont nous pourrions avoir besoin) :
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,sn,mail,givenname eq,pres,sub
olcDbIndex: uidNumber,gidNumber,memberUid eq,pres
olcDbIndex: loginShell eq,pres
olcDbIndex: uniqueMember eq,pres
10

olcDbIndex:
olcDbIndex:
olcDbIndex:
olcDbIndex:
olcDbIndex:
olcDbIndex:
olcDbIndex:
olcDbIndex:

uid pres,sub,eq
displayName pres,sub,eq
sambaSID eq
sambaPrimaryGroupSID eq
sambaDomainName eq
sambaGroupType eq
sambaSIDList eq
default sub

Une fois fait, il suffit de sauvegarder et fermer le fichier et dexcuter la commande suivante
afin que la nouvelle configuration soit mise jours (rien nest dynamique avec les fichier.ldif,
il faut toujours les rendre effectifs) :
root@LDAP1:~#slapindex
Autre petite erreur que jai pu faire ici : excuter la commande slapindex avec le super
utilisateur root. En effet, OpenLDAP fonctionne avec lutilisateur openldap qui fait parti du
groupe openldap, or le fait davoir excut cette commande avec root va changer les droits
groupe et lutilisateur de certains fichiers qui passeront de openldap root (OpenLDAP ne
pourra donc plus les lire ou excuter ce qui provoquera de nombreuse erreurs).
Afin de rattribuer les bons droits utilisateur/groupe aux fichiers il suffit de ce placer dans les
bons rpertoires et dexcuter la commande ls l (qui liste les fichiers en affichant aussi les
droits), puis de redonner les bon droits :
root@LDAP1:~#cd /var/lib/ldap
root@LDAP1:~#ls l
root@LDAP1:~#chown openldap:openldap *
root@LDAP1:~#cd /etc/ldap/slapd.d/cn\=config/
root@LDAP1:~#ls -l
root@LDAP1:~#chown openldap:openldap *
#Commande : cd pour se placer dans le rpertoire, ls l pour lister et chown pour
changer le groupe et lutilisateur du fichier.
Tout est donc oprationnel pour passer linstallation de Samba !

1.4.

Installation de Samba (version3.5.6)

Nous allons configurer Samba de telle sorte quil soit contrleur de domaine, mais aussi en
tant que serveur de fichiers (partage de fichiers ou sauvegarde de donnes via un disque
rseau). Pour ce faire, nous allons installer Samba, puis nous crerons des zones de stockages
prives et publiques.
Commenons par installer les paquets :
root@LDAP1:~#aptitude -y install smbldap-tools samba smbclient
smbfs

11

Rpondre aux questions suivantes :


Nom du domaine ou groupe de travail : clin
Voulez vous chiffrer les mots de passe : Oui
Modifier smb.conf pour utiliser les paramtres WINS fournis
par DHCP : Non
Comment voulez-vous lancer Samba : Dmon
Faut-il crer une base de donnes /var/lib/samba/passdb.tdb :
Non (voir remarque ci-dessous)
Remarque : si on rpond Oui la dernire question, le programme d'installation
de Samba va importer tous les comptes. a inclut les comptes comme root, daemon,
nobody, www-data, game, etc. Sur un serveur fraichement install, il vaut mieux
rpondre Non . On pourra les rajouter la main plus tard en cas de besoin.
Une fois linstallation termine, on arrte Samba afin de terminer sa configuration :
root@LDAP1:~#/etc/init.d/samba stop
Il faut maintenant configurer Samba pour qu'il intgre LDAP et les outils SMBLDAP que l'on
installera dans la foule. Un fichier de configuration /etc/samba/smb.conf est dj prsent,
nous modifions sont nom en smb.conf.back afin davoir une sauvegarde la configuration
originel au cas o :
root@LDAP1:~#mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
Nous allons maintenant aller chercher un exemple de configuration de smb.conf (ceci permet
davoir un fichier sans le grand nombre de commentaire qui le rende illisible), cet exemple de
configuration est disponible dans les fichiers crs par linstallation prcdente du package
smbldap-tools) :
root@LDAP1:~#cp /usr/share/doc/smbldap-tools/examples/smb.conf
/etc/samba/smb.conf
Il ne reste plus qu le modifier afin davoir la configuration souhaite :
root@LDAP1:~#vi /etc/samba/smb.conf
Nous obtenons le fichier de configuration suivant (explication en vert) :
[global]
workgroup = clin
netbios name = ldap1
security = user
server string = Samba Server %v
encrypt passwords = Yes
ldap passwd sync = yes

#Dfinition des paramtres globaux du serveur


#Nom du domaine (pour les clients Windows)
#Nom du serveur LDAP qui lidentifie sur le rseau
#Force Samba authentifier les connexions clients
#Commentaire affich dans le voisinage rseau
(Samba transcrit %v par sa propre version)
#Utilisation des mots de passe encrypts
#Synchronise les mots de passe LDAP et Samba

###Commande qui permet de changer le mot de passe de lutilisateur ( faire sous Samba)###
passwd program = /usr/sbin/smbldap-passwd -u "%u"
passwd chat = "Changing *\nNew password*" %n\n "*Retype new password*" %n\n"

12

log level = 3
#Niveau de log Samba
syslog = 3
#Niveau de log Samba + LDAP
log file = /var/log/samba/log.%U
#Rpertoire des log de Samba
max log size = 100000
#Taille maximal du fichier de log
time server = Yes
#Samba est aussi serveur de temps
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 #Optimization pour
le protocol TCP/IP
Dos charset = CP932
#Utilise lencodage CP932 sous Windows
Unix charset = UTF-8
#Utilise lencodage UTF-8 sous Linux
domain logons = Yes
#Active le service de contrleur de domaine
domain master = Yes
#Le serveur est le maitre du domaine
local master = Yes
#Le serveur est aussi maitre du rseau local
logon home = \\ldap1\%U
#Chemin du rpertoire personnel de lutilisateur
authentifi (voir [home] plus bas)
logon path = \\ldap1\profiles\%U
#Chemin qui indique aux clients Windows o stocker
leurs profils itinrants
logon script = logon.bat
#Nom du script excuter louverture dune session
(voir [netlogon] plus bas)
logon drive = H:
#Lettre du lecteur rseau qui mne lespace
personnel de lutilisateur (voir [home] plus bas)
os level = 65
#un os level de 65 permet au serveur Samba
dtre forcment le contrleur de domaine face un
serveur Windows (dans le cas o 2 contrleurs de
domaine se trouvent sur le mme rseau)
preferred master = Yes
#Indique que ce serveur sera choisi en cas dlection
dun contrleur de domaine (si 2 serveurs sont en
preferred master = yes alors celui qui a le plus
haut os level gagne llection)
dns proxy = no
#Sans passer par un DNS pour rsoudre le domaine
wins support = yes
#Samba devient aussi serveur Wins (rsolution de
nom Netbios)
passdb backend = ldapsam:ldap://192.168.5.149/

#Indique Samba que les comptes


utilisateurs sont stocks sous LDAP
###Dfinition de lorganisation de larbre LDAP###

ldap admin dn = cn=admin,dc=clin,dc=local


ldap suffix = dc=clin,dc=local
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
###Dfinition des scripts (voir plus bas dans la partie Smbldap-tools)###
add user script = /usr/sbin/smbldap-useradd -m "%u"
delete user script = /usr/sbin/smbldap-userdel "%u"
add machine script = /usr/sbin/smbldap-useradd -t 0 -w "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'

13

ldap ssl = no

#Indique que la communication avec OpenLDAP


nest pas chiffre
#Tout fichiers crs dans les diffrents rpertoires
(sauf indication contraire (voir plus bas)) ont les droits
640
#Tout dossiers crs dans les diffrents rpertoires
(sauf indication contraire (voir plus bas)) ont les droits
750
#Les compte invit (utilisateurs qui parcours les dossiers publiques de Samba ont le droit de lutilisateur
nobody )

create mask = 0640

directory mask = 0750

guest account = nobody

map to guest = Bad User


###Dfinition des partages###
[homes]
comment = Dossiers personnels
browseable = no
writable = yes
guest ok = no
valid users = %U, clin\%U

#Rpertoire personnel des utilisateurs


#Commentaire
#Invisible dans le voisinage rseau
#Accessible en criture
#Les utilisateurs invit ny ont pas accs
#Seul lutilisateur authentifi droit de voir son rpertoire personnel ( %U est lutilisateur authentifi)

[netlogon]

#Rpertoire o sont stocks les scripts excuts par


Les clients Windows lors de leurs connexions
#Chemin du rpertoire (o %G est le groupe
primaire de lutilisateur)
#Invisible dans le voisinage rseau
#Accessible en lecture seul
#Les utilisateurs invit ny ont pas accs

path = /home/netlogon/%G
browseable = No
read only = yes
guest ok = no
[profiles]
comment = profils itinerants
path = /home/profiles
browseable = no
writable = yes
guest ok = no
create mask = 0700
directory mask = 0700
valid users = %U, clin\%U
[public]
comment = Dossier public
path = /home/public
writable = yes
public = yes
create mask = 0777
directory mask = 0777

#Rpertoire o sont stock les profiles itinrants


#Commentaire
#Chemin du rpertoire o stocker le profile itinrant
#Invisible dans le voisinage rseau
#Accessible en criture
#Les utilisateurs invit ny ont pas accs
#Les fichiers dans profiles sont crs avec le droit 700
#Les dossiers dans profiles sont crs avec le droit
700
#Seul lutilisateur authentifi droit de voir son rpertoire personnel ( %U est lutilisateur authentifi)
#Rpertoire accessible tout le monde
#Commentaire
#Chemin du rpertoire
#Accessible en criture
#Accessible tout le monde
#Tout le monde tous les droits sur les fichiers
Tout le monde tous les droits sur les dossiers

14

Nous avons donc configur le fichier de configuration de Samba et avons donn des chemins
vers des rpertoires (netlogon, public, profiles et home), il nous faut donc crer les dossiers
(en leur attribuant les bon droits) au bon endroit afin que ces chemins pointent vers leur bonne
destinations :
root@LDAP1:~#mkdir /home/netlogon
root@LDAP1:~#chmod 775 /home/netlogon
root@LDAP1:~#mkdir /home/profiles
root@LDAP1:~#chmod 773 /home/profiles
root@LDAP1:~#mkdir /home/public
root@LDAP1:~#chmod 777 /home/public
Remarque : Nous navons pas cr le rpertoire home car il sagit dun rpertoire
automatiquement cr qui pointe vers le rpertoire personnel de lutilisateur
authentifi (ce rpertoire est automatiquement cr la cration dun utilisateur).
Nous redmarrons le dmon Samba afin de prendre en compte notre configuration :
root@LDAP1:~#/etc/init.d/samba restart
Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.
Samba doit connatre le mot de passe administrateur du serveur OpenLDAP pour
ladministration LDAP. Ca lui donnera l'autorisation de crer, supprimer, modifier des entres
pour les comptes utilisateurs, groupes et machines.
La commande suivante permet de le faire:
root@LDAP1:~#smbpasswd -W
Setting stored password for "cn=admin,dc=clin,dc=local" in secrets.tdb
New SMB password: tototata
Retype new SMB password: tototata
Ceci crer un fichier secret.tdb se trouvant dans le rpertoire /var/lib/samba que seul le
super utilisateur (root) peut lire.

1.5.

Configuration de Smbldap-tools

Ces outils sont des scripts perl22 qui permettront de crer les utilisateurs Samba et LDAP de
manire automatise. Par exemple, nous pourrions dornavant utiliser la commande smbldapuseradd (voir plus bas dans cration dun utilisateur), qui grce ces outils permettra de crer
en mme temps, le compte de lutilisateur LDAP, Samba et Linux (avec cration du rpertoire
personnel). Ceci nous facilite grandement la vie, car sans lui nous devrions crer un compte
sur Samba (avec appartenance un groupe etc etc), le mme sur OpenLDAP et le mme sur
Linux (avec cration du rpertoire priv).

15

Nous avions install ces outils avec Samba afin de rcuprer un exemple de fichier de
configuration smb.conf, passons maintenant leurs configurations :
root@LDAP1:~#gzip -d /usr/share/doc/smbldaptools/configure.pl.gz
root@LDAP1:~#perl /usr/share/doc/smbldap-tools/configure.pl
Un cran saffiche et si le smb.conf est bien configur (ce qui est notre cas), il suffit
dappuyer sur la touche ENTRER car le script de configuration va pr-remplir les champs
(par exemple le nom du domaine) grce aux mmes champs que sur le smb.conf.
Attention toutefois ne pas all trop vite car il faudra tout de mme saisir la main le mot
de passe de ladministrateur LDAP ( tototata ) et le type dencryption des mots de passe
des utilisateurs linux ( lencryption of the unix password ), pour ce dernier taper MD5 .
Toutes ces informations seront modifiables dans les fichiers smbldap.conf et
smbldap_bind.conf situs dans le dossier /etc/smbldap-tools (notre smbldap.conf est
disponible en annexe).

1.6.

Cration de larbre LDAP

Il est maintenant temps dinitialiser la base de donnes LDAP de base pour Samba. On va le
faire en utilisant la commande smbldap-populate :
root@LDAP1:~#smbldap-populate
Vous devez saisir deux fois votre mot de passe root ( tototata ). Cette commande cre:
Les diffrentes OU (Organisation Unit) qui contiendront vos Machines, Users et
Groups,
Deux UID : root (super utilisateur) et nobody (utilisateur avec peu de droits que
prenne les invits) qui seront dans OU = Users,
Plusieurs CN (Common Name): Les groupes qui seront dans OU = Groups.

1.7.

Gestion des profils itinrants en Franais

Il faut configurer ce qui suit afin de notre PDC puisse stocker les profiles itinrants en
Franais, sinon les utilisateurs auront leur dossiers en Anglais ( Images se transformera en
Pictures par exemple), pour ce faire :
root@CI_LDAP1:~#apt-get install attr
root@CI_LDAP1:~#mount /home o remount,user_xattr
Ajouter user_xattr fstab afin que loption reste mme aprs un redmarrage.

16

1.7.1. Cration dun groupe


Nous allons maintenant crer un groupe dutilisateurs (par exemple, ici le groupe Atelier de
saisie ) et nous verrons par la suite comment lexploiter.
Pour ce faire nous allons utiliser lune des commandes de la suite smbldap-tools :
root@LDAP1:~#smbldap-groupadd -a 'Groupe test'
#Commande : -a permet lauto-mappage la cration du groupe (cration de
lidentifiant de scurit et de groupe (SID et GID))

1.7.2. Cration dun utilisateur


Pour la cration dun utilisateur (par exemple lutilisateur Pierre Dupont faisant partie du
groupe Atelier de saisie ), nous utiliserons galement smbldap-tools :
root@LDAP1:~#smbldap-useradd -a -c "Pierre Dupont" -m -P -g
"Groupe test" pdupont
#Commande : -a dsigne un utilisateur, -c pour donner le nom entier de lutilisateur
(information Gecos), -m crer le rpertoire personnel (sous Linux), -P demande la
cration du mot de passe et pdupont est lidentifiant de lutilisateur (uid)
Pour le supprimer, utiliser la commande smbldap-userdel pdupont.

1.7.2.1. Vrification de la bonne cration


Commande permettant de vrifier que lutilisateur bien pris en compte les paramtres
Samba (smb.conf) lors de sa cration:
root@LDAP1:~#pdbedit v pdupont
Attention : Durant un dbogage et modification du fichier smb.conf (Samba), il se
peut que les comptes utilisateurs prennent en compte le fichier smbldap.conf
(Smbldap-tools), le modifier si ncessaire et bien penser mettre jours les comptes
utilisateurs prcdemment crs.
Par exemple : si on modifie dans smbldap.conf les chemins pour le home directory et
login path il faudra effectuer la commande :
pdbedit p "" h "" u pdupont

17

1.7.3. Cration des lecteurs rseaux


Nous poursuivons par la dfinition des scripts qui permettront de crer les diffrents lecteurs
rseaux des utilisateurs en fonction de leur groupe. Mais avant, nous allons nous intresser
la logique de la configuration permettant la cration des lecteurs rseaux en finalit.
Dans notre smb.conf nous avions mis plusieurs informations trs importantes :
logon script = logon.bat

#Nom du script excuter louverture dune session


(voir [netlogon] plus bas)

[netlogon]

#Rpertoire o sont stocks les scripts excuts par


Les clients Windows lors de leurs connexions
#Chemin du rpertoire (o %G est le groupe
primaire de lutilisateur)
#Invisible dans le voisinage rseau
#Accessible en lecture seul
#Les utilisateurs invit ny ont pas accs

path = /home/netlogon/%G
browseable = No
read only = yes
guest ok = no

Daprs les informations ci-dessus, on peut donc en dduire quil faut crer un dossier portant
le nom de chaque groupe dutilisateurs dans le dossier /home/netlogon.
De plus, il faudra dans chacun de ces dossiers crer un script nomm logon.bat.
(Attention de bien mettre les bon droits spcifis plus haut, la cration du dossier
/home/netlogon)
Exemple de script logon.bat permettant daccder au dossier public ([public] dans smb.conf) :
net use p: \\ldap1\public
Pour reprendre notre exemple de lutilisateur pdupont membre du groupe Atelier de saisie, il
faut donc se placer dans /hom/netlogon et crer un dossier Atelier de saisie, puis dans ce
dossier Atelier de saisie, il faudra crer le fichier logon.bat (en crant les bons scripts pour les
lecteurs rseaux) :
root@LDAP1:~#cd /home/netlogon
#Aller dans le dossier /home/netlogon#
root@LDAP1:/home/netlogon#mkdir "Groupe test"
#Crer le dossier Groupe test
root@LDAP1:/home/netlogon#cd Atelier de saisie
#Aller dans le dossier /home/netlogon/Groupe test
root@LDAP1:/home/netlogon/Groupe test#vi logon.bat
#Crer le fichier logon.bat
#Copier dedans net use p: \\ldap1\public

18

1.8.

Configuration des clients LDAP

1.8.1. Clients GNU/Linux


L'ide est d'utiliser lannuaire LDAP pour authentifier les utilisateurs qui se connecteront sur
la machine Linux. L'approche classique sur des systmes Unix pour avoir une base centrale
d'utilisateurs est d'utiliser NIS23. Nous allons voir comment utiliser une base LDAP pour faire
le mme travail.
Pour changer le processus d'authentification classique, il faut installer PAM (Pluggable
Authentification Module). C'est une bibliothque qui permet de remplacer la source
d'authentification par peu prs n'importe quoi (LDAP, SQL, fichier plat, NIS), ceci sera
coupl NSS (Name Service Switch) qui permettra le changement du service utiliser pour la
connexion.
Nous allons maintenant installer et configurer la librairie qui permet dutiliser lannuaire
(libnss-ldap) et la librairie qui permet de sauthentifier sous unix (libpam-ldap) :
root@LDAP1:~#apt-get install libnss-ldap libpam-ldap
Lors de linstallation un certain nombre de question seront poses :
Identifiant uniforme de ressource ( URI ) du serveur LDAP : ldap ://192.168.5.149
Nom distinctif (DN) de la base de recherche : dc=clin,dc=local
Version de LDAP utilis : 3
Compte LDAP pour le superutilisateur ( root ) : cn=admin,dc=clin,dc=local
Mot de passe du compte du superutilisateur LDAP : tototata
Donner les priviges de superutilisateur local au compte administrateur LDAP ? oui
La base LDAP demande-t-elle une identification : non
Compte LDAP pour le superutilisateur ( root ) : cn=admin,dc=clin,dc=local
Mot de passe du compte du superutilisateur LDAP : tototata
Algorithme de chiffrement utiliser localement pour les mots de passe : chiffr

Maintenant que les librairies sont configures, on doit activer la recherche LDAP en
modifiant le fichier de configuration /etc/nsswitch.conf. Pour cela il faut simplement ajouter
ldap passwd, group et shadow :
root@LDAP1:~#vi /etc/nsswitch.conf
# Modifier les lignes suivantes en rajoutant ldap
passwd:
compat
ldap
group:
compat
ldap
shadow: compat
ldap

19

Il faut aussi modifier le fichier /etc/pam.d/common-password qui permet de grer le


changement de mot de passe :
root@LDAP1:~#vi /etc/pam.d/common-password
#Sur la ligne suivante, il faut retirer ('user_unknown=ignore')
password
[success=1 user_unknown=ignore default=die]

pam_ldap.so try_first_pass

Et pour finir, modifier le fichier /etc/pam.d/common-session qui gre louverture de la session


de lutilisateur :
root@LDAP1:~#vi /etc/pam.d/common-session
# ajouter tout la fin du fichier (crer la directory dans /home automatiquement)
session optional pam_mkhomedir.so skel=/etc/skel umask=077
On redmarre ensuite le serveur afin dtre sur que toutes les configurations soient prises en
compte :
root@LDAP1:~#reboot

1.8.2. Clients Windows


Chez Windows la marche suivre est diffrente, il ne suffit pas simplement de lui indiquer
daller sauthentifier sur le serveur LDAP mais il faut le faire appartenir au domaine (notre
domaine est clininfo).
Il faut dabord ajouter le serveur Samba en tant que serveur WINS afin de pouvoir rsoudre le
nom de domaine, pour ce faire, il faut aller dans Panneau de configuration/Rseau et
Internet/Connexions rseaux et suivre ci-dessous :

Procdure de dclaration du serveur WINS

20

Puis pour appartenir au domaine, appuyer sur les touches Windows+Pause et cliquer sur
Modifier les paramtres puis suivre ci-dessous :

Procdure dapartenance au domaine

Aprs avoir cliqu sur OK , il vous faudra renseigner le compte root (administrateur du
domaine) afin de valider la jonction au domaine.
Attention : il existe un bug, une fois le compte root saisit, il se peut que le pc ne soit
pas ajout au domaine. Dans ce cas, retenter la jonction au domaine, si chec relancer
les services Samba et OpenLDAP (service samba restart et service
slapd restart) et retenter.
Une fois le client Windows sur le domaine, il suffit de le redmarrer lordinateur, et, arriv
linterface de connexion, cliquer sur Autre utilisateur et dans le champ Identifiant ,
entrer lutilisateur de la faon suivante : domaine\utilisateur.
Pour lexemple, avec lutilisateur pdupont, on entre clininfo\pdupont (puis le mot de passe de
pdupont) et nous voila connect au domaine.
Sur le serveur Samba, dans le dossier /home/profiles sera automatiquement cr un dossier
nomm pdupont.v2 contenant le profile (fond dcran, prfrences, raccourcis) de
lutilisateur pdupont. Si jamais lutilisateur pdupont essai de se connecter sur un autre
ordinateur, Samba ira voir dan le dossier /home/profiles si un dossier pdupont.v2 sy trouve,
comme il sy trouve il exportera directement le profile sur le nouvel ordinateur (au lieu de
crer le profile et dimporter les prfrences comme prcdemment).

21

1.9.

Installation de Phpldapadmin

PhpLDAPadmin est une interface crite en php qui permet de visualiser et de modifier
facilement (via une interface Web) un annuaire LDAP (OpenLDAP principalement), sur le
mme principe que phpMyAdmin pour les bases de donnes MySQL.
Personnellement, je nai utilis phpldapadmin seulement pour visualiser mon arbre et non
pour le modifier, je prfrais effectuer les modifications en lignes de commandes ce qui
permettait un auto mappage de certaines caractristiques (comme le SID de Samba) qui
ntait pas faisable via phpldapadmin.
Pour linstaller, il ny a quune chose faire :
root@LDAP1:~#apt-get install phpldapadmin
Remarque : Comme cet outil nest accessible que par navigateur, il tourne donc
grce un serveur Apache qui tait disponible de base sur ma Debian Squeeze.
Pour accder phpldapadmin, il suffit simplement douvrir votre navigateur favori et dentrer
comme URL : adresseIpDuServeur/phpldapadmin, donc, dans notre cas,
192.168.5.149/phpldapadmin.
Aprs authentification avec le mot de passe root ( tototata ), vous pourrez voir une interface
avec un arbre semblable celui la, avec la racine (dc=clin,dc=local), ladministrateur
(cn=admin), les units organisationnels (Computers, Groups) et le nom de domaine Samba
(clin) :

Interface LDAP sous Phpldapadmin

22

2. En rsum
Pour rsumer la marche suivre afin de mettre en place un contrleur de domaine
authentifiant ses utilisateurs sur un annuaire informatique il faut :
1. Installer OpenLDAP qui permet la cration de lannuaire informatique,
2. Le rendre compatible avec Samba (problme de schma),
3. Installer/configurer Samba en tant que contrleur de domaine,
4. Installer/Configurer Smbldap-tools (pour plus de simplicit dans ladministration du
contrleur de domaine),
5. Crer larbre LDAP,
6. Crer les scripts dautocration des lecteurs rseaux,
7. Crer les groupes/utilisateurs,
8. Configurer les clients Windows/Linux.

23

Annexes
Fichier de configuration smbldap.conf :
###########################################################################
###
#
# LDAP Configuration
#
###########################################################################
###
# Notes: to use to dual ldap servers backend for Samba, you must patch
# Samba with the dual-head patch from IDEALX. If not using this patch
# just use the same server for slaveLDAP and masterLDAP.
# Those two servers declarations can also be used when you have
# . one master LDAP server where all writing operations must be done
# . one slave LDAP server where all reading operations must be done
# (typically a replication directory)
# Slave LDAP server
# Ex: slaveLDAP=127.0.0.1
# If not defined, parameter is set to "127.0.0.1"
slaveLDAP="192.168.5.149"
# Slave LDAP port
# If not defined, parameter is set to "389"
slavePort="389"
# Master LDAP server: needed for write operations
# Ex: masterLDAP=127.0.0.1
# If not defined, parameter is set to "127.0.0.1"
masterLDAP="192.168.5.149"
# Master LDAP port
# If not defined, parameter is set to "389"
masterPort="389"
# Use TLS for LDAP
# If set to 1, this option will use start_tls for connection
# (you should also used the port 389)
# If not defined, parameter is set to "1"

24

ldapTLS="0"
# How to verify the server's certificate (none, optional or require)
# see "man Net::LDAP" in start_tls section for more details
verify=""
# CA certificate
# see "man Net::LDAP" in start_tls section for more details
cafile=""
# certificate to use to connect to the ldap server
# see "man Net::LDAP" in start_tls section for more details
clientcert=""
# key certificate to use to connect to the ldap server
# see "man Net::LDAP" in start_tls section for more details
clientkey=""
# LDAP Suffix
# Ex: suffix=dc=IDEALX,dc=ORG
suffix="dc=clininfo,dc=local"
# Where are stored Users
# Ex: usersdn="ou=Users,dc=IDEALX,dc=ORG"
# Warning: if 'suffix' is not set here, you must set the full dn for usersdn
usersdn="ou=Users,${suffix}"
# Where are stored Computers
# Ex: computersdn="ou=Computers,dc=IDEALX,dc=ORG"
# Warning: if 'suffix' is not set here, you must set the full dn for computersdn
computersdn="ou=Computers,${suffix}"
# Where are stored Groups
# Ex: groupsdn="ou=Groups,dc=IDEALX,dc=ORG"
# Warning: if 'suffix' is not set here, you must set the full dn for groupsdn
groupsdn="ou=Groups,${suffix}"
# Where are stored Idmap entries (used if samba is a domain member server)
# Ex: groupsdn="ou=Idmap,dc=IDEALX,dc=ORG"
# Warning: if 'suffix' is not set here, you must set the full dn for idmapdn
idmapdn="ou=Idmap,${suffix}"
# Where to store next uidNumber and gidNumber available for new users and groups
# If not defined, entries are stored in sambaDomainName object.
# Ex: sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"
# Ex: sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"

25

sambaUnixIdPooldn="sambaDomainName=clininfo,${suffix}"
# Default scope Used
scope="sub"
# Unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT)
hash_encrypt="MD5"
# if hash_encrypt is set to CRYPT, you may set a salt format.
# default is "%s", but many systems will generate MD5 hashed
# passwords if you use "$1$%.8s". This parameter is optional!
crypt_salt_format=""
###########################################################################
###
#
# Unix Accounts Configuration
#
###########################################################################
###
# Login defs
# Default Login Shell
# Ex: userLoginShell="/bin/bash"
userLoginShell="/bin/bash"
# Home directory
# Ex: userHome="/home/%U"
userHome="/home/%U"
# Default mode used for user homeDirectory
userHomeDirectoryMode="700"
# Gecos
userGecos="System User"
# Default User (POSIX and Samba) GID
defaultUserGid="513"
# Default Computer (Samba) GID
defaultComputerGid="515"
# Skel dir
skeletonDir="/etc/skel"
# Default password validation time (time in days) Comment the next line if

26

# you don't want password to be enable for defaultMaxPasswordAge days (be


# careful to the sambaPwdMustChange attribute's value)
defaultMaxPasswordAge="45"
###########################################################################
###
#
# SAMBA Configuration
#
###########################################################################
###
# The UNC path to home drives location (%U username substitution)
# Just set it to a null string if you want to use the smb.conf 'logon home'
# directive and/or disable roaming profiles
# Ex: userSmbHome="\\PDC-SMB3\%U"
userSmbHome="\\ci-ldap1\%U"
# The UNC path to profiles locations (%U username substitution)
# Just set it to a null string if you want to use the smb.conf 'logon path'
# directive and/or disable roaming profiles
# Ex: userProfile="\\PDC-SMB3\profiles\%U"
userProfile="\\ci-ldap1\profiles\%U"
# The default Home Drive Letter mapping
# (will be automatically mapped at logon time if home directory exist)
# Ex: userHomeDrive="H:"
userHomeDrive="H:"
# The default user netlogon script name (%U username substitution)
# if not used, will be automatically username.cmd
# make sure script file is edited under dos
# Ex: userScript="startup.cmd" # make sure script file is edited under dos
userScript=
# Domain appended to the users "mail"-attribute
# when smbldap-useradd -M is used
# Ex: mailDomain="idealx.com"
mailDomain=""
###########################################################################
###
#
# SMBLDAP-TOOLS Configuration (default are ok for a RedHat)
#

27

###########################################################################
###
# Allows not to use smbpasswd (if with_smbpasswd == 0 in smbldap_conf.pm) but
# prefer Crypt::SmbHash library
with_smbpasswd="0"
smbpasswd="/usr/bin/smbpasswd"
# Allows not to use slappasswd (if with_slappasswd == 0 in smbldap_conf.pm)
# but prefer Crypt:: libraries
with_slappasswd="0"
slappasswd="/usr/sbin/slappasswd"
# comment out the following line to get rid of the default banner
# no_banner="1"

28

Вам также может понравиться