Un controlleur de domaine LDAP qui centraliserait aussi bien les athentification utilisateurs sous Windows que sous Linux.
C'est chose faite.
pré requis
Un poste Linux (sic) perso j'ai une Debian 2.6.18 fraichement installée, mon serveur DNS sous bind9 tourne sur on domaine mackow.org.
Lors de l'installation des package que nous allons réalisé, un certain nombres de quetsions vont etre posé, mettons nous donc au même niveau.
dpkg-reconfigure debconf
et choisir intermediaire histoire de pré-remplir les fichiers de conf
installation du serveur OpenLDAP?
apt-get install slapd db4.2-util ldap-utils
Voulez vous omettre la configuration? Bien sur que
non
Nom du domaine?
Mackow.org
Nom de votre organisation?
mackow
Mot de passe administrateur?
J'ai mis mon mot de passe root pour eviter les soucis mais faites comme bon vous semble
Mode de base de données?
BDB
Faut il supprimer la base de données à la purge du paquet?
Heu bien sur que non, ca evitera bien des soucis
Faut il autorise LDAPV2?
Non
Ldap est, à ce moment installé et fonctionnel (malgrés le peu de paramétrage effectué)
nmap -sS monserveur
389/tcp open ldap
Mise en place du Schema OpenLdap? SaMBa?
apt-get install samba-doc
Placons ensuite ce schema pour etre exploitable (et exploité par LDAP-
SaMBa?)
gunzip -c /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema
Paramétrage de slapd.conf Fichier de conf principal de LDAP
vi /etc/ldap/slapd.conf
Ajouter
include /etc/ldap/schema/samba.schema
Paramétrage mot de passe root dans slpad.con ok
> a finaliser
Installation paramétrage de SaMBa?
apt-get install samba samba-client smbfs
Ne repondez pas aux questions, la source du smb.conf est à suivre.
Remplacez donc l'intégralité du fichier /etc/samba/smb.conf par celui-ci :
[global]
workgroup = MAISON
netbios name = SERVER
server string = PDC Samba-LDAP
passdb backend = ldapsam:
ldap://127.0.0.1/
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
add user script = /usr/sbin/smbldap-useradd -m "%u"
delete user script = /usr/sbin/smbldap-userdel "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%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"
add machine script = /usr/sbin/smbldap-useradd -w "%u"
logon path = \\%L\profile\%U
logon drive = P:
logon home = \\%L\%U
domain logons = Yes
os level = 40
domain master = Yes
dns proxy = No
wins support = Yes
ldap admin dn = cn=admin,dc=mackow,dc=org
ldap delete dn = Yes
ldap group suffix = ou=Groups
ldap machine suffix = ou=Machines
ldap passwd sync = Yes
ldap suffix = dc=mackow,dc=org
ldap user suffix = ou=Users
winbind use default domain = Yes
hosts allow = 192.168.0., 127.
case sensitive = No
hide files = /desktop.ini/ntuser.ini/NTUSER.*/
[netlogon]
path = /home/netlogon
write list = Administrateur
browseable = No
[profile]
path = /home/export/profile
read only = No
create mask = 0700
directory mask = 0700
profile acls = Yes
browseable = No
[homes]
comment = Repertoire Personnel
read only = No
browseable = No
[partage]
comment = Repertoire commun
path = /home/partage
read only = No
Création des partages
A faire
Script automatisation de l'integration des users
apt-get install smbldap-tools
Puis créer le fichier /etc/smbldap-tools/smbldap_bind.conf
et saisissez (adaptez le a votre schema LDAP)
slaveDN="cn=admin,dc=mackow,dc=org"
slavePW=votremotdepasse
masterDN="cn=admin,dc=mackow,dc=org"
masterPW=votremotdepasse
Créez egalement le fichier /etc/ldap/smbldap.conf et saisissez :
slaveLDAP="127.0.0.1"
slavePort="389"
masterLDAP="127.0.0.1"
masterPort="389"
ldapTLS="0"
verify="require"
# A changer >suffix="dc=mackow,dc=org"
usersdn="ou=Users,${suffix}"
computersdn="ou=Machines,${suffix}"
groupsdn="ou=Groups,${suffix}"
idmapdn="ou=Idmap,${suffix}"
scope="sub"
hash_encrypt="SSHA"
crypt_salt_format="%s"
userLoginShell="/bin/bash"
userHome="/home/%U"
userHomeDirectoryMode="700"
userGecos="System User"
defaultUserGid="513"
defaultComputerGid="515"
skeletonDir="/etc/skel"
Arretez Samba
/etc/init.d/samba stop
Saisir votre mot de passe admin LDAP dans Samba
smbpasswd -w "votremotdepasse"
Redemarrez Samba
/etc/init.d/samba start
Puis tester la commande
getlocalsid
qui ne doit générer ni erreur ni warning