Soucis entre Samba et OpenLDAP

Forum d'assistance et d'échange sur l'installation, la configuration, et l'utilisation des système Linux et BSD. Vous pouvez y poster vos questions concernant ces systèmes d'exploitation en faisant l'effort préalable de rechercher dans le forum, dans les manuels et les documentations que la réponse n'y figure pas.

Modérateur: modos Ixus

Soucis entre Samba et OpenLDAP

Messagepar deglingo » 21 Sep 2006 16:52

Bonjour à tous,

Dans le cadre d'un projet que je vais présenter oralement, j'ai choisi la mise en place d'un serveur Samba et OpenLDAP sous une debian 2.6. Je ne suis pas du tout une lumière en matière de linux mais ce projet me tiens a coeur puisque j'essaye de m'invistir un peu dans ce monde qui m'est pas mal inconnu.
Je rencontre pas mal de soucis durant la mise en place de ce serveur et j'aimerais si cela est possible quelques "coup de pouce".

Voici le contexte : Je suis chez moi, petit réseau local de deux postes (Win XP) + le serveur le tout derriere mon routeur. Mon routeur fait guise de serveur DHCP je suppose donc qu'il fait aussi serveur WINS.

Voici ce que j'ai fais pour l'install de mon serveur :

Nom de la machine : Debian
domaine : blackout (<-- suis je obligé de mettre plus pour avoir obligatoirement un cn= ..., dc=blackout, dc= ...)
login : root (je sais apparament c'est pas bien me grondé pas siouplé :o )
MDP root : ********

ensuite j'installe les paquets suivants : apt-get install slapd samba samba-doc samba client ldap-account-manager libnss-ldap libpam-ldap

Ensuite j'ai la debconf qui se lance voici les question et les réponse que je rentre :


OpenLDAP
omettre la config d'openldap : non
nom de domaine : blackout
nom organisation : blackout
MDP : *******
Autoriser LDAPv2 : non


Samba
nom de domaine : blackout
chiffrer les MDP : oui
modif smb.conf pour utiliser parametres WINS fournis par DHCP (mon routeur) : oui
comment lancer Samba : démons
créer BD (base de données) /var/lib/samba/pass.tdb : oui

libnss-ldap
hote serveur LDAP : 127.0.0.1
distinguished name : dc=blackout
LDAP version à utiliser : 3
la BD demande t elle une identification : non
spécial privilège LDAP pour root : oui
fichier de config uniquement modifiable par le proprio : oui
LDAP account for root : cn=manager, dc=blackout
LDAP root account password : ********

libpam-ldap
créer BD locale pour l'administrateur : oui
BD requiert connexion authentifiée : non
compte su (superuser) : cn=manager, dc=blackout
MDP su : ******
méthode chiffrement : MD5

Ensuite je modifie mon fichier nsswitch.conf comme ceci :
Image

Puis je modifie les fichiers /etc/pam.d/common-account
/etc/pam.d/common-auth
/etc/pam.d/common-password

Image
Image
Image

Ensuite j'entame la config de OpenLDAP :
cd / /usr/share/doc/samba-doc/examples/LDAP
gunzip samba.schema.gz
cp samba.schema /etc/ldap/schema

ensuite dans mon fichier slapd.conf (/etc/ldap/slapd.conf), je rajoute le schema que je viens de gunzipper: include /etc/ldap/schema/samba.schema

Ce qui me donne ceci :
Image

Bien évidemment j'oubli pas de changer le MDP pour le compte admin via la commande suivante :
slappasswd
Ainsi je récupère mon mot de passe crypté en MD5 et je le met dc ds mon slapd.conf

Dans le HOWTO que je suis pour faire ce serveur, il dise de rajouter aussi une ligne dans le slapd.conf :
include /etc/ldap/schema/authldap.schema (<== dans le paquet de courrier LDAP)

Ce paquet est il indispensable ?? Ou ce trouve ce paquet de courrier LDAP ? dois je le dl ?

Sinon dans le HOWTO il me dise que mon fichier slapd.conf doit etre comme ceci :
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/authldap.schema
include /etc/ldap/schema/samba.schema

schemacheck on
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd.args
loglevel 0
modulepath /usr/lib/ldap
moduleload back_bdb
backend bdb

<== là ds mon fichier g des lignes mais ds le HOWTO elle n'apparaissent pas dois je les commenter ?

checkpoint 512 30

database bdb

suffix "dc=blackout"
rootdn "cn=manager, dc=blackout"
rootpw {SSHA}........ <== mon MDP crypté en MD5
directory "/var/lib/ldap"

<== la aussi j'ai des lignes qui n'apparaissent pas ds le HOWTO

index objectClass eq
lastmod on

access to attrs=userPassword
by dn="cn=manager,dc=blackout" write
by anonymous auth
by self write
by * none

access to dn.base=""
by *read

access to *
by dn="cn=manager,dc=blackout" write
by * read

Configuration de Samba

Modif du fichier smb.conf :

Voilà ce que l'on me dit de rajouter :

passdb backend = ldapsam:ldap://127.0.0.1
ldap suffix = dc=blackout
ldap machine suffix = ou=machines
ldap user suffix = ou=users
ldap group suffix = ou=groups

ldap admin dn =cn=manager, dc=blackout
ldap delete dn = no

#Controleur principal de domaine
domain master = yes
domain logons = yes

#Autorisation privilèges utilisateurs
enable privileges = yes

ensuite lorsque je fais un testparm j'obtiens ceci

Image
Image

Comme l'on peut le constater, le testparm m'indique qu'il y a un paramètre ignoré ou qu'il ignore à la lligne "Unknown parameter encoutered "valid user""

Qu'est ce que cela signifie exactement ? A quoi cela est il dû ??

Malgré tout j'ai continué à suivre le HOWTO espérant trouver le pourquoi du comment plus tard.

Je met le MDP pour Samba :
smbpasswd -w [mon MDP]

Ensuite le HOWTO me donne ce que je devrais voir dans mon fichier smb.conf, là encore certaine ligne apparaissent dans mon fichier mais pas ds mon HOWTO. Dois je les commenter ou les laisser ?

Ces lignes sont par exemple : wins server w.x.y.z (dois je mettre l'@ IP de mon routeur puis que le server DHCP fourni les paramètres WINS ?? ou doisje laisser cette ligne commentée ou tel quelle ?

j'ai encore d'autre ligne genre : dns proxy = no
Mais elle n'apparait pas ds mon HOWTO etc ....

Ensuite je rajoute tjs ds ce meme fichier, Mes scripts par rapport au SMBLDAP-TOOLS (enfin c'est ce que dis l'HOWTO hein)

#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 -w "%u"<= pk smbldap-useradd et pas machineadd ?
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"
passwd program = /usr/sbin/smbldap-passwd -u %u (<= pk pas de "" pour le %u ?)


Ensuite plus bas dans le meme fichier, j'arrive a ces lignes :(je suis le HOWTO encore et tjs)

domain master = yes
domain logons = yes
logon script = %U.bat
logon path = \\debian\windowsprofiles\%U <= alors là j'ai fais comme ds le HOWTO mais suis pas sur que ce fichier existe vraiment, dois je le créer ?
logon drive = U:
logon home = \\debian\%U

J'installe ensuite mon paquet smb-ldaptools :
apt-get install smbldap-tools

je gunzip le smbldap.conf.gz et le copie dans le dossier /etc/smbldap-tools.

Ce paquet nécessitant les librairies perl, j'install celles ci :
apt-get install libnet-ldap-perl libcrypt-smbhash-perl

Je récupère mon SID grace à la commande get netlocalsid mais lke soucis, c'est qu'il m'affiche :
SID for domain debian alors que mon domain s'appelle blackout est ce que c'est normal ? de quoi cela viendrai t il ?

ensuite je rajoute les lignes suivante ds le fichier /etc/smbldap-tools/smbldap.conf comme me dit de faire le HOWTO :

ldapTLS="0"
suffix="dc=blackout"
userdn="ou=users,${suffix}"
computersdn="ou=machines,${suffix}"
groupsdn="groups,${suffix}" sambaUnixIdPooldn="sambaDomainName=blackout,${suffix}"
hash_encrypt="MD5"

Puis le HOWTO me dit d'éditer le fichier /usr/local/smbldap_bind.conf mais ce fichier je ne l'ai pas, il n'existe pas. Dois je le créer à l'endroit indiqué ?? Est ce que c'est normal que je ne l'ai pas ?

Pour le test je l'ai créer comme suit :

slaveDN="cn=manager,dc=blackout"
slavePw="Mon MDP"
masterDN="cn=manager,dc=blackout"
masterPw="Mon MDP"

C'est alors que le HOWTO me dis de modifier le fichier /usr/sbin/smbldap-populate en remplacant tous les termes sambaSID:1-5-32-512 par sambaSID:$config{SID}-512

je l'ai fait ainsi que tous les root par admin, je l'ai fais aussi.

Mais qd je rentre la commande smbldap-populate j'obtient ceci :
Image
De ce fait je perds espoir de faire marcher mon serveur, je suis totalement dépité.

J'ai vraiment besoin de renseignements, que l'on me dise ce que je fais de travers, je n'ai meme pas voulu voir la suite du HOWTO, je suis perdu.

PS : je tiens à m'excuser auprès des administrateurs du forum pour la taille de mon post mais je me suis dis que si je posais mes questions à la volée bcp m'aurait demandé les configuration de mes fichiers et autres renseignement peut etre plus technique auquel je n'aurai pas forcément su répondre compte tenu de mes connaissance en linux. Je m'excuse aussi pour la taille de mes screen shot mais je ne savais pas comment les réduire et les laisser bien visibles.

J'espere vraiment qu'une lumiere vienne me guider dans ce monde que je commence à peine à découvrir mais qui pourtant me fascine.

CDT deglingo
:wink:
deglingo : "un homme passionné d'informatique mais qui n'est pas autodidacte" ^^
deglingo
Matelot
Matelot
 
Messages: 10
Inscrit le: 09 Août 2006 17:07

Messagepar Franck78 » 21 Sep 2006 19:13

Salut,

Bon j'espère que d'autres te guideront mieux que moi. J'ai un mauvais souvenir avec ldap.

Tu commences pas le plus simple:
Faire marcher samba sans ldap.

Tu oublies définitivement WINS qui n'est surement pas fournis par un petit 'routeur'.
faut que depuis ton windows tu accèdes à un partage sur ta debian.

pam:
Je pense pas que tu aies besoin de toucher à ca.

ldap

Un seul howto, c'est peut être pas suffisant surtout si il suppose que c'est pour lier samba-ldap. Il faut a un moment ou un autre choisir des 'schémas', en gros les champs qu'il y aura dans l'annuaire. Le hic (si me souviens bien) c'est qu'il stocke pas vraiment bien les mots de passe. Il y a de la bidouille.
Donc même chose que pour samba:
le faire marcher 'simplement' c'est a dire creer quelques objets , apprendre à les lister, à obtenir une propriété etc etc.
(créé un fichier texte qui fait tout ca car c'est fastidieux a refaire pendant des essais).

Et quand ca c'est ok, next step. Comprendre comment samba doit interroger ldap. Et la c'est pas gagné car il faut convertir des noms 'flat' organisation rateau, en quelque chose de hiérarchique (contexte). D'ou des formules assez bizarres.
Sans oublier les fameux mots de passe!


Ne pas mélanger
DOMAINE, facon NT (microsoft samba netbios etc etc) c'est un nom "myhome".
et
DOMAINE système de nom de l'internet "myhome.nom.avec.une.domaine.top.level"

Un truc à la fois. C'est la règle numéro un.

bye
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar deglingo » 21 Sep 2006 19:42

ok merci bien. J'avais peur que les gens prennent peur vu la taille de mon post.
Je vais comme tu le dis prendre chaque chose une par une et y aller mollo.

Je pense avoir trouver un autre HOWTO assez bien fait s'il me permet d'arriver au résultat voulu je le linkerai ici meme avec plaisir :wink:
deglingo : "un homme passionné d'informatique mais qui n'est pas autodidacte" ^^
deglingo
Matelot
Matelot
 
Messages: 10
Inscrit le: 09 Août 2006 17:07

Messagepar deglingo » 22 Sep 2006 12:38

Le soucis c'est que je n'est pas trop le temps de prendre mon temps justement car je viens de recevoir ma convoctaion et il veulent me faire passer mercredi :cry: :? :? :( :(
deglingo : "un homme passionné d'informatique mais qui n'est pas autodidacte" ^^
deglingo
Matelot
Matelot
 
Messages: 10
Inscrit le: 09 Août 2006 17:07


Retour vers Linux et BSD (forum généraliste)

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron