![]()
Très largement inspiré de « Un article de L’admin Debian. L’admin Debian
Introduction :
La gestion des utilisateurs ainsi que leurs droits sur les partages réseaux peut devenir suffisamment complexe, pour générer des erreurs monumentales ! Provoquant l’apparition de trous de sécurités ayant pour origine le manque d’organisation et de réflexion sur l’impacte de l’évolution des droits !
On s’aperçoit vite avec le nombre d’utilisateur augmentant, que des groupes peuvent se former ayant des besoins communs. dans l’idéal un organigramme (peut) existe(r) et peut constituer une base de réflexion. Mais il faut qu’il soit complet et à jour !
De plus avec les outils informatiques, il est apparu un besoin de gérer les ordinateurs eux-mêmes avec leur droits, groupes, etc…
Et bien évidemment une interaction évidente entre utilisateurs et ordinateurs, mêlant gestion des un et des autres…
C’est ainsi que les annuaires électroniques sont apparus, ayant pour but de gérer tout cela.
!!! Attention !!!
La configuration d’un domaine Windows en interaction avec le nom de domaine LDAP et DNS, ce fait par l’intermédiaire du nom FQDN (DNS)
Ex : DNS = domain.local => LDAP dc=domain, dc=local => Le nom de domaine Windows (La Forêt) est alors : domain.local
C’est important lors de l’intégration de clients (types : NT4, 2000, 2003) Windows dans ce domain…
Par ailleurs pour simplifier les choses, déclarez un nom NETBIOS identique au nom d’hôte (hostname)
qui lui DOIT être enseigné dans votre serveur DNS pricipale
Prérequis et Conseils :
Ce tutoriel fonctionne sur les distributions suivantes:
-
Debian SID
-
Debian Sarge
-
Debian Etch
-
Debian Lenny
-
Debian Squeeze (avec un changement concernant LDAP)
-
…….
Ce guide a été fait avec une Debian Etch. (personnellement), et depuis avec une Debian Lenny !
Afin que ce guide corresponde totalement à votre environnement, je vous conseille de modifier le niveau de priorité de Debconf. Sur la nouvelle debian Etch et sur Ubuntu le niveau de Debconf est à « Élevé ». Ce qui réduit sensiblement le nombre de questions qui vous sont posées lors de l’installation d’un paquet. On va donc changer le niveau à « Intermédiaire » voir à « basse » pour controler un maximum.
Pour cela tapez en root :
# dpkg-reconfigure debconf
Choisissez « Dialogue » puis « Intermédiaire » ou « basse »
Le contrôleur de domaine doit impérativement avoir une adresse IP statique, si vous changez d’adresse IP en cours de route vous risquez de ne plus pouvoir joindre le domaine.
Une autre astuce étant de faire des réservations DHCP…
Dans notre cas le serveur samba et le serveur OpenLDAP se trouvent sur le méme PC.
Installation du serveur OpenLDAP
Installation
Le paquet slapd contient la partie serveur d’openLDAP :
# apt-get install slapd db4.2-util ldap-utils db4.2-util est remplacé par db4.8-util sous Squeeze.
Debconf nous pose plusieurs questions :
- Le nom du domaine : c’est celui de LDAP (Totalement diférent du domaine Samba):
Si vous mettez domaine.local vous aurez donc dc=domaine,dc=local (rappelez-vous en !!)
Car au nom FQDN: domaine.local correspondra le Workgroup: domaine.
Un peu comme le préconise Microsoft lors de la configuration d’un Active Directory.
http://e-novatic.fr/blog/index.php/post/2007/09/11/Bien-configurer-son-Active-Directory
http://www.laboratoire-microsoft.org/articles/win/startad/3/Default.asp
http://technet.microsoft.com/en-us/library/cc755059%28WS.10%29.aspx
Nom de votre organisation: représente la visibilité de votre annuaire ! Chez moi par exemple dom-sln.local.
domaine.local
- Mot de passe de l’administrateur :
C’est ce mot de passe que vous utiliserez pour vous connecter, rappelez vous en !!
- Module de base de données à utiliser :
BDB
- Faut-il supprimer la base de données à la purge du paquet ?
NON
- Faut-il déplacer l’ancienne base de données ?
NON
- Faut-il autoriser le protocole LDAPv2 ?
NON
Schéma Samba
LDAP fonctionne avec des schémas, par défaut 4 schémas sont déjé présents, pour utiliser samba avec LDAP il faut le schéma approprié. Celui se trouve dans le paquet SAMBA-DOC (14mo !!)
- Installation:
# apt-get install samba-doc
- On copie le schéma que l’on place dans le répertoire dans le répertoire des schémas de LDAP:
# gunzip -c /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema
Modification du fichier slapd.conf (plus valable sous Squeeze)
Il reste maintenant à éditer le fichier de configuration du serveur OpenLDAP
nano /etc/ldap/slapd.conf
- On déclare le schéma de samba
include /etc/ldap/schema/samba.schema
Juste en dessous des autres déclarations;
Sous Squeeze :
Créez un fichier convert-file.conf :
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/samba.schema
On va convertir ce fichier en fichier LDIF :
# slapcat -f /etc/ldap/convert-file.conf -F /tmp/ldif_output -n0 -s "cn={4}samba,cn=schema,cn=config" > /tmp/cn=samba.ldif
# cp /tmp/ldif_output/cn\=config/cn\=schema/cn\=\{4\}samba.ldif /etc/ldap/slapd.d/cn\=config/cn\=schema/
# chown openldap:openldap /etc/ldap/slapd.d/cn=config/cn=schema/cn={4}samba.ldif
Enfin on relance le serveur OpenLDAP:
# /etc/init.d/slapd restart
Voici mon fichier de configuation de slapd.conf
Installation du serveur SAMBA
Installation
On installe le paquet samba (le serveur) et des outils pour le client:
# apt-get install samba smbclient smbfs
Répondez à debconf en laissant tout par défaut, de toute façon on fera notre propre fichier de configuration.
Modification du fichier smb.conf
Le fichier de configuration du serveur SAMBA est : /etc/samba/smb.conf
Vous devez changer au moins les lignes:
- workgroup
C’est le nom de votre domaine, celui que vous allez donner à windows
- netbios name
C’est le nom votre machine (résultat de la commande ‘hostname’).
- ldap suffix
dc=…..,dc=……
- ldap admin dn
cn=admin,dc=……,dc=…..
Et éventuellement:
- hosts allow
Voir mon fichier smb.html
Création des dossiers partagés
Comme vous avez pu le voir dans le fichier de configuration de samba, on partage plusieurs répertoires.
- /home/netlogon
Contient les éventuels scripts qui sont éxécutés à chaque connexion d’un utilisateur (.bat)
- /home/export/profile
Contient les profils windows de chaque utilisateur, ils sont créés automatiquement pour les nouveaux
- /home/partage
Partage commun à tous les utilisateurs du domaine
- /home/lenomdelutilisateur
Les répertoires personnels linux sont aussi partagés
Création des répertoires:
# mkdir -p /home/netlogon # mkdir -p /home/profiles
On donne les droits aux répertoires:
# chmod a+w /home/profiles
Un fichier important est le fichier : /etc/samba/smbusers (Merci à aymen de m’avoir mis un commentaire, montrant que je n’en parlait pas
)
# Unix_name = SMB_Name1 SMB_Name2 ... root = administrator administrateur nobody = guest smbguest pcguest
Les scripts smbldap-tools
Installation
Le paquet smbldap-tools contient plusieurs scripts facilitant l’administration
# apt-get install smbldap-tools
Modification du fichier smbldap_bind.conf
Créez le fichier /etc/smbldap-tools/smbldap_bind.conf avec les commandes :
# gzip -d /usr/share/doc/smbldap-tools/configure.pl.gz# perl /usr/share/doc/smbldap-tools/configure.pl
Répondez aux questions cela devrait configurer :
slaveDN="cn=admin,dc=domaine,dc=local" slavePw=votremotdepasseenclair masterDN="cn=admin,dc=domaine,dc=local" masterPw=votremotdepasseenclair
- Adaptez le comme d’habitude à votre configuration
- Il y a ici un probléme de sécurité car votre mot de passe est en clair, changez les droits de ce fichier pour que seul root puisse le lire
# chmod 600 /etc/smbldap-tools/smbldap_bind.conf
Modification du fichier smbldap.conf
Éditez ou créez le fichier /etc/smbldap-tools/smbldap.conf et copiez ceci:
La commande précédente devrait avoir créé le fichier /etc/smbldap-tools/smbldap.conf : perl /usr/share/doc/smbldap-tools/configure.pl
Vous devez changer:
- suffix= »dc=………,dc=…… »
On commence tout d’abord par stopper samba
# /etc/init.d/samba stop
Puis il faut créer le fichier /var/lib/samba/secrets.tdb: On fournit à samba le mot de passe du compte administrateur qui effectue les requétes dans l’annuaire LDAP.
# smbpasswd -w votremotpasseenclaire
On relance ensuite le serveur samba:
# /etc/init.d/samba start
Le démarrage du service doit etre quasi immédia, s’il dure plusiers secondes c’est qu’il y a une erreur
net getlocalsid
Vérifiez que tout c’est bien passé:
# net getlocalsid
SID for doamin is : S-1-5-21-344654654654654654654654
La commande net getlocalsid ne doit retourner aucune erreur ni warning !
Vous pouvez donc changer la valeur dans /etc/smbldap-tools/smbldap.conf
smbldap-populate
On va pouvoir créer l’archictecture de notre base LDAP :
# smbldap-populate
Vous devez saisir deux fois votre mot de passe root si tout se passe bien ! Cette commande créée:
-
Les différentes OU (Organisation Unit) qui contiendront vos Machines, Users et Groups
-
Deux UID : root et nobody qui seront dans OU = Users
- Plusieurs CN (Common Name): Les groupes qui seront dans OU = Groups
Copiez quelque part la derniére ligne sambaDomainName=domaine,dc=domaine,dc=local domaineest le nom workroup que vous avez renseigné dans smb.conf, cette ligne servira à configurer l’interface LAM (si vous le souhaitez), copiez la quelque part. Faites un test, ajoutez un utilisateur:
# smbldap-useradd -a -c "Pierre Dupont" -m -P pdupont
-
-a : désigne un utilisateur
-
-c : Information Gecos : Le nom entier
-
-m : Créé le répertoire personnel
- -P : création du mot de passe
Lisez l’aide:
# smbldap-useradd -?
Pour étre certain que l’utilisateur root a été correctement créé:
# smbldap-usershow root
Cette commande vous retourne toutes les informations de l’utilisateur root de votre annuaire.
Authentification Unix
Un système Linux peut aller chercher dans différents endroits pour authentifier des utilisateurs. Par défaut il s’agit du fichier /etc/passwd Cependant on peut ajouter d’autres sources de données. Or sur la machine elle même le but n’étant pas d’authentifier les utilisateurs locaux de la machine par LDAP, cette partie n’est pas nécessaire. Si toute fois vous désirez l’implémenter veuillez vous reporter à : http://damstux.free.fr/wiki/index.php?title=PDC_Samba_LDAP#Authentification_Unix : Authentification Unix
Un système Linux peut aller chercher dans différents endroits pour authentifier des utilisateurs. Par défaut il s’agit du fichier /etc/passwd Cependant on peut lui en ajouter d’autres sources de données. On va donc lui indiquer notre annuaire LDAP
NSS (Name Service Switch)
On ajoute un module à NSS qui lui permet d’interroger notre annuaire LDAP
# apt-get install libnss-ldap
Debconf nous pose plusieurs questions:
- Adresse du serveur LDAP : 127.0.0.1
- Nom distinctif (DN) de la base de recherche: dc=…….,dc=…..
- Version de LDAP: 3
- La base de données demande-t-elle une identification ? NON
- Le fichier de configuration doit-il étre lisible et modifiable uniquement par son propriétaire ? NON
Explication : sinon seul root pourra interroger l’annuaire. De toute façon, il n’y a pas de mot de passe dans ce fichier
Vérifiez que dans /etc/libnss-ldap.conf vos paramétres sont corrects.
Vous devez avoir:
host 127.0.0.1 base dc=domaine,dc=local uri ldap://127.0.0.1/
Une nouvelle version de libnss-ldap exige une modification de son fichier de configuration: /etc/libnss-ldap.conf. Il faudra peut-étre aussi modifier une ligne rootbinddn cn=admin,dc=domaine,dc=local en plus de base et uri
Par défaut, si la connexion au serveur LDAP échoue, celle-ci est automatiquement relancée, le temps écoulé avant une nouvelle connexion est augmenté à chaque fois, si bien que votre poste client n’arrive pas à booter (obligation de booter sur un live CD et de monter la partition systéme pour revenir à une configuration correcte).
Il faut donc modifier le mode de connexion: Par défaut il est à HARD, on décommente la ligne #bind_policy hard et l’on remplace hard par soft Ainsi, en cas d’erreur, le poste démarre quand méme.
Vous devez donc avoir dans /etc/libnss-ldap.conf
# Reconnect policy:
# hard_open: reconnect to DSA with exponential backoff if
# opening connection failed
# hard_init: reconnect to DSA with exponential backoff if
# initializing connection failed
# hard: alias for hard_open
# soft: return immediately on server failure
bind_policy soft
Il est possible d’affiner considérablement la configuration, mais seule la directive base est à changer pour une configuration classique
De même, on installe le module LDAP pour PAM:
# apt-get install libpam-ldap
- Hôte du serveur LDAP : 127.0.0.1
- Nom distinctif (« distinguished name») de la base de recherche : dc=……..,dc=……
- Version de LDAP: 3
- Faut-il créer une base de données locale pour l’administrateur ? NON
- La base de données requiert-elle une connexion authentifiée ? NON
- Méthode de chiffrement pour les changements de mots de passe : crypt
Vérifiez que le fichier /etc/pam_ldap.conf contient au moins:
host 127.0.0.1 base dc=domaine,dc=local uri ldap://127.0.0.1/
Authentification grâce à LDAP
Il suffit d’indiquer maintenant au système d’aller interroger notre annuaire LDAP
nano /etc/nsswitch.conf
Il vous suffit de rajouter après compat la directive ldap pour
-
passwd
-
group
-
shadow
# /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat ldap group: compat ldap shadow: compat ldap hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
ATTENTION !! En manipulant ce fichier si vous faites une erreur, vous ne pourrez plus vous connecter avec aucun de vos utilisateurs (même root) !!
Vous avez créé un utilisateur pdupont dans votre annuaire LDAP:
# getent passwd Doit vous retourner quelque chose comme: pdupont:x:1507:513:Pierre Dupont:/home/pdupont:/bin/bash
Intégration d’un client Windows (XP Pro, Serveur 2003/2008)
Une fois que vous avez terminé toute l’installation et la configuration de votre serveur Linux, penser à relancer les deux services:
# /etc/init.d/samba stop # /etc/init.d/slapd restart # /etc/init.d/samba start
Enfin, vous pouvez tester sous Windows.
-
Click droit sur Poste de Travail, Propriétés.
-
Onglet Nom de l’ordinateur
-
Click sur le bouton Modifier…
-
Membre de: Choisissez Domaine : Saisissez le nom de la directive workgroup que vous avez renseigné dans smb.conf
-
OK
-
On vous demande un login: root et votre mot de passe : celui de root
-
Si tout va bien le message » Bienvenue dans le domaine …. » s’affiche.
-
Redémarrez la machine
- Choisissez le domaine que vous avez créé et connectez vous avec root ou toto
Votre profile Windows XP/2003 est stocké sur le serveur Linux dans /home/profiles/ chaque utilisateur possède son répertoire $LOGIN.
Votre profile Windows 2008 Serveur/Vista est stocké sur le serveur Linux dans /home/profiles/ chaque utilisateur possède son répertoire $LOGIN.V2. V2 pour différencier le profile avant et après Vista. Sachant que Vista cherche un partage profiles.v2, c’est pourquoi nous avons créé un :
[profiles.V2] copy = profiles
Ils contient les éléments de votre bureau, le répertoire « Mes Documents », les fichiers de configuration des applications (Firefox, Thunderbird….).
ATTENTION : Si vous avez des scripts de logon, pensez à ajouter vos comptes aux groupes voulus : smbldap-groupmod -m $USER « $GROUP1 , $GROUP2″
Intégration d’un client Linux
Si vous avez des clients Linux avec les quels vous ne désirez pas créer de compte en local suivez la méthode dans 5 Authentification Unix , puis http://www.e-glop.net/main/GDM-LDAP-Ubuntu.
Car GDM ou KDM utilisant /etc/pam.d/ pour chercher les logins il advient qu’à la connexion de session :
- Login Failed !
La solution se situe dans la modification des pam.d :
Configuration
PAM (authentification)
Pour faire fonctionner GDM/KDM, voici comment paramétrer l’authentification PAM :
$ cat /etc/pam.d/common-account account sufficient pam_ldap.so account required pam_unix.so $ cat /etc/pam.d/common-auth auth sufficient pam_ldap.so auth required pam_unix.so use_first_pass nullok_secure $ cat /etc/pam.d/common-password password sufficient pam_ldap.so md5 password required pam_unix.so nullok obscure min=4 max=8 md5 $ cat /etc/pam.d/common-session session required pam_mkhomedir.so skel=/etc/skel session sufficient pam_ldap.so session required pam_unix.so $ cat /etc/pam.d/kdm session required pam_mkhomedir.so skel=/etc/skel auth required pam_nologin.so auth required pam_env.so readenv=1 auth required pam_env.so readenv=1 envfile=/etc/default/locale @include common-auth session required pam_limits.so @include common-account @include common-password @include common-session $ cat /etc/pam.d/login # A mettre au tout début du fichier session required pam_mkhomedir.so skel=/etc/skel
session required pam_mkhomedir.so skel=/etc/skel :
Permet de créer le répertoire personnel /home/$USER sur le client Linux. Dans smb.conf est ajouté dans profiles :
root preexec = mkdir -m 770 /home/"%U" && mkdir -m 770 /home/"%U"/test && mkdir -m 770 /home/"%U"/bin && mkdir -m 770 /home/"%U"/Desktop && mkdir -m 770 /home/"%U"/"Mes Documents" root postexec = chown -R "%u:Domain Users" /home/"%u"/
Interfaces d’administration
smbldap-tools
Le paquet smbldap-tools contient plusieurs scripts pour gérer les utilisateurs, groupes et machines dans l’annuaire LDAP.
smbldap-groupadd smbldap-groupshow smbldap-useradd smbldap-usermod smbldap-groupdel smbldap-passwd smbldap-userdel smbldap-usershow smbldap-groupmod smbldap-populate smbldap-userinfo
Vous pouvez afficher toutes options possibles en faisant:
smbldap-… -?
Conclusion
Vous venez d’installer et de configurer un annuaire LDAP pour le domaine : DOMAIN.LOCAL, ainsi que les partages réseaux avec SAMBA pour le domaine (AD) : DOMAIN.LOCAL.
Si vous suivez à la lettre les instructions, moins d’une heure suffit pour faire tout cela !
- Fin -
Share on Facebook
94 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.
Merci pour ce super tuto!! je test ça dans la semaine et te tient au courant du bon fonctionnement!!
Merci mon lolo toujours aussi impressionnant, je m’y remet la semaine prochaine, je pense opter pour la debian………comme d’hab
et en plus tu sais que cet Ldap me tient à coeur.
Et si je rame trop j’t chope sur msn ^^.
ET en plus c’est bientôt Novell (noël) .désolé je sors ……….
A+
Bonjour Laurent !
Merci beaucoup pour cet article qui m’a énormément aidé pour monter un contrôleur de domaine pour mon travail sous Debian Lenny !
Juste une petite chose sur laquelle j’ai bloqué : la partie sambaUnixIdPooldn= »sambaDomainName=DOMAIN,${suffix} » du fichier smbldap.conf doit être également modifiée selon la configuration de chacun. Ca me paraît bête, maintenant que je le sais, hehe
)
Merci encore pour cet excellent article !
Christophe
Effectivement, je vais relire mon tuto pour voir si ce n’est pas assez clair… Quand on est dedans on a, à tord, l’impression que oui !
Et oui après relecture DOMAIN ne ressort pas !
Hello,
Une autre petite chose que j’ai dû modifier pour vérifier les données utilisateur :
la commande « getenv passwd » retourne une erreur. Il faut entrer « getent passwd ».
Merci
)
Christophe
Et oui !
Erreur de frappe…
Bonsoir Laurent,
J’essaie en vain de connecter des machines Ubuntu au LDAP. Dans le auth.log des clients Ubuntu (8.10 ou 9.04), l’erreur « nss_ldap » Can’t contact LDAP server » ne cesse d’apparaître… J’ai suivi d’autres tuto pour remédier à ce problème (comme celui-ci : https://help.ubuntu.com/community/LDAPClientAuthentication ), mais rien n’y fait…
As-tu déjà rencontré ce type de problème auparavant ?
Merci beaucoup
Christophe
Non, mais vérifies bien que le LDAP soit en route et fonctionnel.
# ps -ef | grep slapd
openldap 4483 1 0 Apr01 ? 00:00:02 /usr/sbin/slapd -g openldap -u openldap -f /etc/ldap/slapd.conf
Puis voir si il écoute bien sur le bon port : 389
# lsof | grep slapd | grep LISTEN
slapd 4483 openldap 8u IPv6 8830 TCP *:ldap (LISTEN)
slapd 4483 openldap 9u IPv4 8831 TCP *:ldap (LISTEN)
Bonjour et merci pour ce tuto. J’ai suivi à la lettre les instructions dans ce tuto et tout fonctionne. Le problème que j’ai c’est que dans le réseau, il se crée beaucoup de répertoires partagés (ex Domain backup, replicators, etc). Mais quand je double-clic dessus, on me demande de m’identifier et j’entre l’identité du root mais ça ne passe pas. Comment y acceder?
Bonjour,
Si tu as fait un copié/collé de smb.conf, il est évident que des PATH ont été déclarés alors qu’ils n’existent pas sur ta machine. D’où plantage !
Ensuite il est clair qu’il faille associer des droits au PATH.
Exemple le groupe=Backup Operators doit être associé à /home/groups/Backup Operators.
Puis les utilisateurs doivent appartenir à tel ou tel groupes !
etc…
excellent tutoriel merci
mais un petit probleme : je suivi tout le tuto sans erreur mais je pas pu connecter une machine cliente xp: je logue avec root mais sans succes
Je vois, dans mon tuto, j’ai juste oublié de parler du fichier :
/etc/samba/smbusers
# Unix_name = SMB_Name1 SMB_Name2 …
root = administrator administrateur
nobody = guest smbguest pcguest
Qui permet de faire la relation entre l’admin Woinwoin « Administrateur » et celui de Nunux « root »…
Merci à toi
je suis actuellement en stage et besoin de mettre en place une stratégie de sécurité locale pour le controleur de domaine samba ldap et je suis un peu perdu.
a tu une idée sur ce sujet?
merci d’avance pour ton aide.
Malheureusement, les stratégies ne sont pas au programme de samba 3.x, mais avec un Samba 4.x probablement que les GPO seront là !
bonjour
Merci beaucoup pour cet article qui m’a énormément aidé pour mon travail sous Debian
mais le problème que j’ai rencontré est dés le début malheuresement lorseque je tape la commende d’installation de ldap il m’affich impossible de trouver le paquet sldap
je vous en pris j’attends vos conseille et merci beaucoup d’avance
merci j’ai résoud mon problème!!
bonjour
merci pour cet article il est clair et bien expliquer mais juste j’ai rencontré un problème j’ai pas bien compri quesque je doit écrir dans le fichier /etc/samba/smbusers si’il y avait un exemple merci d’avance pour votre aide
bonjour
j’ai un autre problème
dans le fichier /etc/smbldap-tools/smbldap_bind.conf quesqu’on met dans slaveDN= »cn=admin,dc= ????,dc=local »
slavePw=votremotdepasseenclair
masterDN= »cn=admin,dc= ????,dc=local »
masterPw=votremotdepasseenclair
et quesque voules vous dire par slave et master ici master c’est le serveur samba et slave ldap ?? j’ai pas une idée franchement
je vous remerci encore énormément
Comme je l’indique dans le tutoriel :
Modification du fichier smbldap_bind.conf
Créez le fichier /etc/smbldap-tools/smbldap_bind.conf et copiez ceci:
slaveDN= »cn=admin,dc=domaine,dc=local »
slavePw=votremotdepasseenclair
masterDN= »cn=admin,dc=domaine,dc=local »
masterPw=votremotdepasseenclair
Slave ou master sont les mêmes dans le cas où il n’y a pas de ldap maitre et un autre esclave !
Aussi simplement !
Bonjour Laurent,
D’abord je tenais à te remercier pour ce tuto clair et efficace… je n’ai pas eu de problème particulier à le suivre jusqu’au fameux passage « Intégration d’un client Windows »… là ça coince et surtout je ne sais pas trop où regarder pour avoir des infos sur le pourquoi ça ne passe pas.
contexte :
depuis une machine qqconque unix quand je fais un :
smbclient -L \\ -U root
ou
smbclient -L \\ -U test0
aucun problème ça fonctionne (test0 étant bien un compte créé comme dans le tuto qui est dans ldap)
Pour le client windows (XP dans mon cas) voyant que ca ne passait pas j’ai essayé de compiler qqinfos sur le net :
- j’ai créé une entrée dans ldap dans Computers correspondant à $ : fail
- j’ai changé les clés suivantes de la base de registre :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\netlogon\parameters « RequireSignOrSeal »=dword:00000000
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System « CompatibleRUPSecurity »=dword:00000001
mais toujours le même message d’erreur : « échec d’ouverture de session : nom d’utilisateur inconnu ou mot de passe incorrect »
J’ai comme l’impression que le soucis vient de la station windows… mais je n’ai pas vraiment d’info dans les logs au niveau de mon controleur qui pourrait m’orienter
Bref je te cache pas que je suis un peu perdu si tu as une piste je suis preneur
c’est dommage je sens qu’il reste rien
merci d’avance !
Erwan
salut moi aussi j’ai le meme problème “échec d’ouverture de session : nom d’utilisateur inconnu ou mot de passe incorrect”
Et dans les journaux windows ? Qu’est-ce qu’il y est dit ?
les journaux windows ne signale rien concernant cela
je sais plus koi faire, j’ai tout testé mais pourtant je réussi à me connecter depui un xp au partage samba et ainsiqu’a monter des lesteur réseau
besoin d’aide please
Est-ce un windows officiel ou d’un autre type (coccinelle,etc…) ?
il s’agit d’un windows xp pro sp2
c’est la vrai galere. y a t il des clés de régistre à modifier?
peut etre est ce important, mais ce win xp pro sp2 est un portable connecté par cable au réseau
Regardes dans les journaux du Linux, et cherches bien sous le woinwoin, il y a des logs…
bonne nouvelle j’ai pu réparer le probleme. y avait d’autre serveur de fichier qui répondaient au meme que j’ai renseigné dans la zone Workgroup de mon smb.conf . je l’ai su en exécutant la commande nmblookup -n qui m’a renvoyer 5 adresses ip différentes.
pour résoudre le problème j’ai juste augmenté l’os level que j’avais mis au départ à 65 à 255 (qui est le max)
refait le test parm
redemarer samba
puis tester à nouveau l’ajout de l’ordi au domaine et ça marche
mainetanant j’aimerais savoir comment joindre mon post linux sur mon domaine afin de gérer mes user linux au niveau du controleur
« j’aimerais savoir comment joindre mon post linux sur mon domaine afin de gérer mes user linux au niveau du controleur »
Là c’est une autre histoire : http://www.cnrs.fr/aquitaine-limousin/spip.php?article756
par exemple…
Sinon :
http://www.securityfocus.com/infocus/1563
http://www.cnrs.fr/aquitaine-limousin/spip.php?article756
http://www.crpp-bordeaux.cnrs.fr/~annefacq/gestion_comptes_ad.html
http://www.coagul.org/spip.php?article306
etc…
bonsoir , j’ai suivi un tuto sur l’authentification ldap des postes unix.
j’ai modifier les fichiers à modifier, installé cequ’il y avait à installer. je me connecte avec un quelconque utilisateur sur le domaine en ligne de commande. mais lorsque je redemarre la machine et que je me connecte avec un utilisateur du domaine en mode graphique sur mon poste linux, j’ai l’erreur suivante: Il y a un problème avec le serveur de configuration (/usr/lib/libgconf2 -4/gconf-sanity-check-2 a quitté avec l’état 256)
- impossible de créer le repertoire de l’utilisateur
et par la suite le bureau apparait mais il vide . j’ouvre une console et je fais pwd et là je constate que je suis sur la racine.
le poste linux en question est un ubuntu
comment faire? pour le résoudre?
salut, merci bk pour la tuto
moi je me plante au niveau smbldap-populate :
serveur1:~# smbldap-populate
Populating LDAP directory for domain majdi (S-1-5-21-438697764-3942706059-3453893680)
(using builtin directory structure)
entry dc=majdi,dc=lan already exist.
entry ou=Users,dc=majdi,dc=lan already exist.
entry ou=Groups,dc=majdi,dc=lan already exist.
entry ou=Computers,dc=majdi,dc=lan already exist.
entry ou=Idmap,dc=majdi,dc=lan already exist.
adding new entry: uid=root,ou=Users,dc=majdi,dc=lan
failed to add entry: objectClass: value #4 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 58.
adding new entry: uid=nobody,ou=Users,dc=majdi,dc=lan
failed to add entry: objectClass: value #4 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 89.
adding new entry: cn=Domain Admins,ou=Groups,dc=majdi,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 101.
adding new entry: cn=Domain Users,ou=Groups,dc=majdi,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 112.
adding new entry: cn=Domain Guests,ou=Groups,dc=majdi,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 123.
adding new entry: cn=Domain Computers,ou=Groups,dc=majdi,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 134.
adding new entry: cn=Administrators,ou=Groups,dc=majdi,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 179.
adding new entry: cn=Account Operators,ou=Groups,dc=majdi,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 201.
adding new entry: cn=Print Operators,ou=Groups,dc=majdi,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 212.
adding new entry: cn=Backup Operators,ou=Groups,dc=majdi,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 223.
adding new entry: cn=Replicators,ou=Groups,dc=majdi,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 234.
adding new entry: sambaDomainName=majdi,dc=majdi,dc=lan
failed to add entry: invalid DN at /usr/sbin/smbldap-populate line 499, line 242.
Please provide a password for the domain root:
/usr/sbin/smbldap-passwd: user root doesn’t exist
alors oû ça a foiré à ton avi …
merci
invalid DN at /usr/sbin/smbldap-populate line 499, line 242.
Non ?
Salut excellent tuto mais je suis bloké, a la commande
#smbldap-populate
Please provide a password for the domain root:
/usr/sbin/smbldap-passwd: user root doesn’t exist
SVP je suis en stage dans une ecole ou je dois mettre en place un controleur de domaine et ca fait 2jours que je suis bloqué ici svp aidez moi !
PS: un autre soucis, quand j’essai d’acceder au domaine avec win xp il arrive a m’afficher la ptite fenetre login et mdp mais quand j’essai d’y entrer il me dit « chemin reseau introuvable »
PS’: vous mettez partout dc=DOMAINE, dc= local
pour ma part j’ai voulu simplifier jai juste mis « DC=DOMAINE »
es ce mon erreur ?? ou es ce que ca ne change rien ???
Magnifique tuto, et apres avoir formaté 3x j’ai finalement réussi a tout faire, le client xp se login avec le compte que j’ai créé avec la commande smbldap-useradd,
le probleme viens du client xp, qui me dit qu’il va me connecter avec un profil temporaire car i ne trouve pas le profile sur le serveur, je suis perdu je sais pas quoi faire svp aidez moi !!
ATTENTION : Si vous avez des scripts de logon, pensez à ajouter vos comptes aux groupes voulus : smbldap-groupmod -m $USER “$GROUP1 , $GROUP2″
Tu peux detailler cette partie stp ??
Détailler ?
Et bien si toto doit être dans les groupes : truc, machin et bidule
smbldap-groupmod -m toto “truc , machin , bidule″
…
Bonjour et merci encore pour ce tuto qui m’a beaucoup aidé. En effet, je l’ai implémenté sur une etch il n’y a eu aucun problème.
Mon problème actuel est que je suis passé à la Lenny et j’ai suivi les instructions de ce tuto ligne par ligne. Mais pour intégrer le client Windows, on m’affiche un message d’erreur : « Un contrôleur de domaine pour le domain xxx n’a pas pu être contacté. Vérifier la saisie du nom de domaine. » Je ne sais plus quoi faire. Faut-il absolument que je retourne sur la etch?
A l’aide.!!
C’était la seule partie que j’avais pas bien saisie, merci pour la réponse mais j’avoue que j’ai été bloqué tres longtemps, tout marche, j’arrive à entrer dans le domaine, j’accéde aux différents partages créés grace aux adresses \\NomduServ\\Partage, j’arrive à écrire dedans mais malheureusement, quand je me login une phrase me dit que je suis en profile temporaire, j’ai été voir enormément de tutos, pour la plupart obselet, c’est d’ailleurs le tuto le plus rescent que j’ai réussi a trouver à ce sujet, je suis bloqué depuis 1mois, j’ai enormement insister, allant jusqu a la modification de base de registre des clients windows mais rien a feire. je m’en remet a vous pour un miracle, je vous laisse mes fichiers conf. merci ! (PS: c’est mon projet de stage de licence je vous avoue que je suis vraiment perdu et apparement pas le seul dans cette situation)
fichiers conf: http://gist.github.com/357618
Mourad : Ton message est un message d’erreur de ton Windows, il faut chercher dans les journaux de celui-ci pour trouver une piste…
Sinon aucune erreur de ce type ne s’est jamais présentée à moi
Yannick EMANDEU : Pour avoir implémenté plusieurs fois ce tuto, je n’ai pas connaissance d’une différence flagrante entre Lenny et Etch.
Je pense que tu dois chercher une différence minime dans l’exécution de ce tuto entre la Etch et la Lenny.
Bonjour et merci encore pour ce tuto qui m’a vraiment servi. J’ai tout de même un petit problème après mon implémentation: seul l’utilisateur root a son lecteur H: sur le poste de travail. Y aurait-il une config que j’ai oubliée? Merci d’avance.
Salut,
Peut-être le :
# chmod a+w /home/profiles
?
je n’arrive à connecter une machine ayant windows à domaine. s’il vous plaît aidez-moi
Sans message ! Cela va être impossible.
Bjr je suis nouveau sur debian mais j’ai déjà fait pas mal de progrès. voilà je profite de ce super tuto que j’ai utilisé pour savoir ce que veut dire le message suivant:
ldap_simple_bind_s failed: Can’t contact LDAP server
juste pour précisions, j’ai fait un samba + openldap sous debian lenny grâce à ce tuto (parfait) et voilà que depuis 1 semaine je n’arrive pas à authentifier mes users ldap avec dovecot ni courier,
ils ne communiquent pas avec le serveur Ldap
Es-tu sur que le service LDAP se lance ?
Car cela ressemble à un serveur LDAP non lancé, ou tombé.
Ce qui expliquerait le souci par ailleurs rencontré avec DOVECOT !
je crois que le service LDAP fonctionne puisque mes utilisateurs Ldap s’authentifient sur des machines Windows , j’ai également mis TLS à mon serveur LDAP est-ce que cela pourrait en être la cause ?
voilà, je voudrais également un tuyau: Je voudrais qu’à la première ouverture de session de mes utilisateurs, afficher la fenêtre de changement de mot de passe ou alors mettre un script dans le partage samba [netlogon] (uniquement la 1ere ouverture de session) qui va afficher une page web leur indiquant qu’ils peuvent changer de mot de passe avec en kdo la procédure à suivre. Merci d’avance…
Si tu crées un nouvel utilisateur sur LDAP, celui-ci arrive-t-il à s’identifier sur Woinwoin ?
pardon, c’est quoi woinwoin ?
Woinwoin : Windows
Nunux : Linux
hello i’ve follow your instruction till the net getlocalsid command.
this is the answer:
futuredev-server:/var/lib/samba# net getlocalsid
[2010/09/06 14:31:06, 0] lib/smbldap.c:smbldap_connect_system(992)
failed to bind to server ldap://127.0.0.1/ with dn= »cn=admin,dc=futuredev-ci,dc=org » Error: Can’t contact LDAP server
(unknown)
SID for domain FUTUREDEV-SERVER is: S-1-5-21-3328738576-22578711-291094364
also i can’t restart the slapd service this is the error message:
futuredev-server:/var/lib/samba# /etc/init.d/slapd restart
Stopping OpenLDAP: slapd.
Starting OpenLDAP: slapd – failed.
The operation failed but no output was produced. For hints on what went
wrong please refer to the system’s logfiles (e.g. /var/log/syslog) or
try running the daemon in Debug mode like via « slapd -d 16383″ (warning:
this will create copious output).
Below, you can find the command line options used by this script to
run slapd. Do not forget to specify those options if you
want to look to debugging output:
slapd -g openldap -u openldap -f /etc/ldap/slapd.conf
As the message said, is there any other message in /var/log/syslog ?
If the starting server failed, is ofen that something wrong in the configuration !
My English is not very good !
Bjr admin, merci pour ce tuto. J’ai enfin pu le configurer sur une Lenny. Je crois que c’est moi qui me trompais avant. Je voudrais savoir (j’ai pas encore essayé) si c’est possible d’intéger Seven dans ce domaine. Et ma plus grande préoccupation porte sur le fait que je voudrais que seuls ceux qui sont connectés sur ce domaine puissent avoir accès à Internet. Est que cela est possible??
(Je ne sais pas si c’est imporant de le préciser mais j’utilise Endian firewall comme routeur).
Merci d’avance.
Je pense que oui. Le seul souci est que Samba (3) n’intègre pas le GPO de Windows… Il faut donc imaginer plusieurs astuces qui contourneraient ces limitations…
Ex : Samba + LDAP < ---> Radius —-> autorisant ou non tel ou tel compte à se connecter au réseau…
A ce propos je vais faire un tuto sur IPSEC+RADIUS+LDAP.
Merci pour cette réponse. Mais je t’avoue que je ne comprend pas grand chose à tout ce que tu expliques là.
Vivement que ce tuto arrive.
Si c’est possible, explique moi un peu en deux lignes supplémentaires où je dois aller configurer exactement.
Merci encore.
Les contrôleurs de domaine Windows ont la possibilité de déployer, sur les postes qui ouvrent une session dans leur domaine, une politique de groupe (GPO). Telle que, pas de connexion, limitation de la configuration, etc… Bref gèrer ce que peut ou pas faire l’utilisateur logué !
Il faudra probablement attendre Samba 4 pour pouvoir en partie le faire depuis un Linux.
Comme ta demande inclue la limitation de la connexion au réseau… Je pense que l’on peut contourner le non déploiement de la GPO (group policy object) par ton Linux, par le fait de demander autorisation de la connexion à un radius.
J’espère faire un tuto aujourd’hui sur : Serveur VPN IPsec Linux avec authentification Radius couplé avec LDAP. Inspiré du tuto :
http://monblog.system-linux.net/blog/2008/10/28/borne-dacces-avec-authentification-radius-et-un-annuaire-ldap-comptabilite-radius/
Maintenant, est ce qu’il sera possible de refuser la connexion Internet à ceux qu’on ne contrôle pas dans le domaine? Puisque le but de ma préocupation est que ceux qui se connectent sur leur ordinateur local n’aient pas Internet, mais ceux qui se connectent sur le domaine l’aient.
Vraiment merci pour ta disponibilité.
Oui c’est a réaliser en plusieurs étapes :
Le client est connecté au routeur qui ne va « router » que les clients qui se trouvent que dans une plage d’adresse. Cette plage est indiquée par le serveur IPsec qui peut être la même machine que le routeur.
Le client envoie sa demande de connexion IPsec(L2TP) avec ce qu’il faut comme paramètre d’authentification (login,mdp,certificats,etc…)
Si tous ces paramètres sont ok, alors le tunnel IPsec est monté.
Là le routeur ayant comme instruction de « router » cette plage réseau, le client accède réellement au réseau.
Une autre solution consiste à faire de l’authentification MAC avec Radius et d’ajouter un test à Radius sur le DOMAIN/users, ou de n’implémenter que le test DOMAIN/users.
Bonjour et encore merci pour toute cette aide que tu m’apportes dans ce tuto.
Voilà mon problème est le suivant. J’ai implémenté ce CPD comme tu le sais déjà avec les dc suivants: dc=takouma,dc=com
Et j’ai aussi implément un serveur DNS (http://siguillaume.developpez.com/tutoriels/linux/installation-configuration-serveur-dns-sous-linux/?page=sommaire) avec les mêmes paramètres. Tout fonctionne bien en local mais il se trouve que le site internet de la boîte où je suis est http://www.takouma.com et est hébergé ailleurs (chez justhost). Du coup, quand on cherche à acceder à ce site, chrome m’affiche « Ce site web n’est pas disponible ». Je ne sais pas quel paramètre toucher pour que mon site soit désormais disponible (je précise que ailleurs que dans cette structure, ce site web passe très bien.). Serait-ce parce que les dc de mon cpd sont les mêmes que pour mon site? Si oui, comment réparer pour garder ces mêmes dc et ce site fonctionnel?
PS : le site takouma.com n’est qu’un example. Je ne pense pas qu’il existe. Merci.
Je ne comprends pas le lien entre le site http://www.takouma.com avec le DNS et le PDC ?
Peux-tu apporter quelques précisions ?
En effet, il est possible que le problème soit au niveau du DNS. Quand j’héberge mon site en local, il passe bien au nom de takouma.com. Ce que je voudrais, c’est que lorsqu’on tape takouma.com, que ce soit mon site chez justhost qui s’affice.
Une des solutions que j’ai trouvées pour résoudre ce problème, c’est de changer mes dc et mettre par exemple dc=takouma,dc=local. Mais je voudrais absolument que mes dc soient takouma,com. Je ne suis pas sur que je me fais bien comprendre, si possible, on pourra causer en messenger pour que je t’explique mieux. danielhantou@yahoo.fr
merci pour ce super tuto!!!!!
mais comen on fait si le controleur de domaine est un serveur active directory 2003 ou 2008 et le serveur ldap est une debian 5 lenny
mon but est de mettre en place un serveur samba dont l’identification et l’authentification est chargé par le serveur ldap qui utilise l’annuaire de l’ active directory
merci d’avance!!
Selon moi la soluce vient en deux partie :
La première ton serveur samba utilise la sécurtité AD
security = AD
Puis tu adaptes à l’Active Directory
ldap admin dn = cn=admin,dc=DOMAIN,dc=local
ldap delete dn = Yes
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
ldap machine suffix = ou=Computers
ldap suffix = dc=DOMAIN,dc=local
ldap ssl = no
ldap user suffix = ou=Users
idmap backend = dc=DOMAIN,dc=local
idmap uid = 500-10000000
idmap gid = 500-10000000
Je pense que c’est la piste…
merci bcp
jvais essayer et jvous tiendrai au courant
je l’ai suivi ligne par ligne
pour moi tout marche bien jusqu’a ce que
j’essayai d’integrer une machine windows au domaine.
j’arrive pa a integrer ma machine sous win xp sp3 pro
alors que le partage fonctionne tres bien.
j’ai deja modifier le le contenu du fichier:
c:\windows\system32\drivers\etc\lmhosts.sam
et renommer le fichier lmhosts.sam en lmhosts
mais sa marche pa!cela fait des jours que je m’y colle
De plus j’aimerai synchroniser ce serveur avec AD
pour ne pas avoir a recreer les utilisateurs et pour
plus de securite en cas de panne d’un de ces serveurs
j tiendrai tjs au courant!!!
merci d’avance!!!
j’ai reussi a integrer mes postes windows Xp et serveur 2003 au domaine mais pas mon serveur 2008 et windows 7?
jsuis sur le point de trouver une idée pour synchroniser ce serveur avec un serveur active directory 2003 utilisant le meme nom de domaine?
que doi_je faire?
J’ai aussi ce problème: comment intégrer Windows 7 à ce cpd samba-ldap?
Je tenterais de joindre un seven au domaine et te tiendrais au courant….
Quant à la synchro, n’oublie pas que Samba en PDC veut dire NT4… Pas 2003 serveur, donc des différences sont à prévoir.
J’ai un autre soucis: lorsque l’utilisateur root se connecte, il a un lecteur réseau sur le poste de travail. Mon problème est que c’est lui et lui seul qui a ce lecteur réseau. Comment faire pour que les autres aient aussi leur par de lecteur réseau?
Non « root » ou l’adminsitrateur ne sont pas les seuls qui peuvent accéder à ce disque (sous réserve des droits respectifs)…
Mais par défaut les lecteurs réseaux ne se créent pas automatiquement !
J’ai vu mon erreur. En effet pour que tous les utilisateurs aient un lecteur réseau, j’ai du ajouter ces lignes dans le partage [profile] :
root preexec = mkdir -m 770 /home/ »%U » && mkdir -m 770 /home/ »%U »/test && mkdir -m 770 /home/ »%U »/bin && mkdir -m 770 /home/ »%U »/Desktop && mkdir -m 770 /home/ »%U »/ »Mes Documents »
root postexec = chown -R « %u:Domain Users » /home/ »%u »/
J’attend toujours l’information concernant l’insertion de Windows 7 dans le domaine.
Merci.
Salut et bonne année à tous.
J’ai trouvé une solution pour windows 7 dans le domaine SaMBa. Cela implique qu’avant de réaliser ce tuto, il faut ajouter les lignes suivantes dans son fichier /etc/apt/sources.list :
deb http://ftp.sernet.de/pub/samba/3.5/debian/ lenny main
Ensuite, se rendre à l’URL http://ftp.sernet.de/pub et télécharger le paquet sernet-samba-keyring_1.2_all.deb que vous installer sur votre lenny.
Ensuite, il ne vous reste plus qu’à suivre ce tuto de Laurent BESSON mais à la difference que, partout où il faut installer un paquet samba, précéder le de « sernet- ».
Exple: remplacer « apt-get install samba-doc » par « apt-get install sernet-samba-doc ».
A la fin, il y a des modifications à effectuer sur Windows 7 : demander à google.
La ligne à ajouter dans le fichier /etc/apt/source.list est bien : « deb http://ftp.sernet.de/pub/samba/3.5/debian/ lenny main ».
J’ai encore un souci avec ce controleur: je voudrais paramétrer les quotas de disques pour chaque utlisateur. En effet, chaque utilisateur a son lecteur personnel. Mais il dispose de tout l’espace disque du serveur.
Cherche au niveau de l’application : quota !
Excuse moi, mais je ne sais pas trop comment commencer. C’est quoi quota? Et comment l’installer? Puis comment la gérer?
Vas voir du côté de :
http://www.samba.org/samba/docs/man/manpages-3/smbcquotas.1.html
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/VFS.html#id2650703
…
Bonjour,
Comme beaucoup j’ai suivi se tuto qui est très bien fait.
J’arrive à me logger au domaine sans problème et tout semble fonctionner correctement.
Cependant je n’arrive pas à attribuer une adresse mail à un utilisateur. Quand je fait « smbldap-useradd -a -N Reno -S Jean -m -P jreno -M jreno@mondomaine.com »
tout se passe bien mais quand je fait un smbldap-usershow jreno je n’ai pas l’attribut mail ! C’est un peu génant pour un annuaire LDAP !
Merci d’avance pour votre aide.
P.S : je suis sous Debian Squeeze
Bonjour,
En effet smbldap-useradd tente d’ajouter l’attribut mailLocalAddress mais celui-ci n’existe pas dans la configuration de LDAP… C’est soit un attribut obsolète et donc devrait être corrigé par un mainteneur Debian ou directement par celui ou celle qui maintient smbldap-tools.
À noter que smbldap-usermod n’y arrive pas non plus mais avec un message d’erreur :
smbldap-usermod -M jreno@debian jreno
failed to modify entry: mailLocalAddress: attribute type undefined at /usr/sbin/smbldap-usermod line 767.
Peut être une piste :
http://www.davidgis.fr/blog/index.php?2010/10/11
Pour la version 0.9.2-3 de smbldap-tools, ce patch semble fonctionner, cependant pour la version 0.9.5-1 (la mienne) je n’ai pas l’impression que ce patch changerait quelque chose (il provoque une erreur mais je pense que c’est du à la différence entre les versions).
Pour me répondre à moi même :
Si on veux intégrer le champ mail dans l’annuaire LDAP, il faut intégrer le schema misc, pour ce faire :
Ajouter « include /etc/ldap/schema/misc.schema » dans le convert-fie.conf
Puis :
slapcat -f /etc/ldap/convert-file.conf -F /tmp/ldif_output -n0 -s « cn={5}misc,cn=schema,cn=config » > /tmp/cn=misc.ldif
cp /tmp/ldif_output/cn\=config/cn\=schema/cn\=\{5\}misc.ldif /etc/ldap/slapd.d/cn\=config/cn\=schema/
chown openldap:openldap /etc/ldap/slapd.d/cn=config/cn=schema/cn={5}misc.ldif
Ensuite la commande smbldap-usermod -M jreno jreno fonctionne, on peut le vérifier avec « smbldap-usershow jreno »
ok parfait !
Beau et jolie travail !
Bonjour,
j’ai suivi votre tuto à la lettre sur une debian squeeze. Je n’ai eu aucun message d’erreur. J’ai pu joindre un poste xp pro au domaine, mais je ne peut pas ouvrir de session sur le domaine car « le domaine n’est pas disponible ». lorsque je fais un testparm j’obtient (entre autre) « Server role: ROLE_DOMAIN_BDC », ne devrais je pas obtenir « Server role: ROLE_DOMAIN_PDC »? si je passe security en « user » dans le smb.conf j’obtient bien « ROLE_DOMAIN_PDC » …
Mon poste client (xp pro) est configuré avec comme seul et unique serveur dns l’@ IP de mon serveur samba, lorsque je fais un nslookup j’ai une erreur « les serveurs par défaut ne sont pas disponible » « serveur par défaut: unknown » est-ce normal?
ça fait des jours que j’écume des pages internet pour trouver une solution …
y a t’il une liste de points à vérifier lors de l’install de samba en pdc? je ne sais même pas par ou commencer pour chercher d’ou viens l’erreur …
Pouvez vous m’aider svp?
Bonjour,
Avez-vous bien mis :
domain logons = Yes
preferred master = Yes
domain master = Yes
Ce sont ces trois clefs qui sont importantes !
Bonjour,
ces trois clefs sont présentes. J’ai fait un copier / coller de votre smb.conf du tuto. j’ai sur mon réseau un sbs 2003 qui gère le domaine de mon entreprise. est ce que cela peut poser problème? sachant que le domaine samba à un nom différent. j’ai fait un test en branchant mon serveur debian sur un switch en dehors du réseau, cela n’a rien changé …
Il semble que la clef
security = domain
ne fonctionne que si le serveur est isolé…
Il faut mettre
security = user
Je vais donc rectifier l’article !
Cependant nslookup fait appel aux DNS et pas au nom netbios !
Sous Windows XP cela est confondu NomDNS=NomNETBIOS…
De ce fait j’ai pris l’habitude de mettre le même nom DNS et NETBIOS
Par ailleurs si la commande nslookup te retourne une erreur c’est que le nom cherché n’est pas renseigné dans le DNS…
En résumé :
- security=user
- même nom NETBIOS et DNS
- renseigné dans le DNS
L’article est ainsi donc modifié !
tks !
Merci beaucoup pour ton aide. j’ai été absent ces derniers jours, je vais tester tout ça et je te tient au courant.
Alléluia! j’ai enfin réussi à ouvrir une session sur mon domaine! j’ai potassé le bouquin de julien rouxel des éditions eni (rendons à césar …) et j’ai modifié le fichier smb.conf pour correspondre au sien. voici mon nouveau smb.conf j’ai mis en commentaire les différence avec l’ancien. je ne sais pas pour l’instant quelle est la ligne qui posait problème car je en maîtrise pas vraiment. Peut etre que ça permettra à certain de comprendre …
[global]
workgroup = LGT
server string = Domain LGT PDC
netbios name = srv-lgt
#controleur de domaine
domain logons = Yes
domain master = Yes
local master = yes
#preferred master = yes
os level = 65
logon script = %g.bat
wins support = yes
time server = yes
logon path = \\%L\profiles\%u
logon drive = H:
#scripts
add user script = /usr/sbin/smbldap-useradd -a -m -G « Domain Users » « %u »
add group script = /usr/sbin/smbldap-groupadd -p « %g »
add machine script = /usr/sbin/smbldap-useradd -i « %u »
add user to group script = /usr/sbin/smbldap-groupmod -m « %u » « %g »
delete user from group script = /usr/sbin/smbldap-groupmod -x « %u » « %g »
#ldap
passdb backend = ldapsam:ldap://127.0.0.1
ldap suffix = dc=lgt,dc=local
ldap machine suffix = ou=Computers
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap admin dn = cn=admin,dc=lgt,dc=local
ldap passwd sync = yes
ldap ssl = no
#display charset = ISO8859-1
#name resolve order = wins lmhosts bcast
#idmap gid = 500-10000000
#eventlog list = Security, Application, Syslog, Apache
#passwd program = /usr/bin/smbpasswd %u
#idmap uid = 500-10000000
#dos charset = 850
#server signing = Yes
#security = user
#max log size = 1000
#log level = 3
#log file = /var/log/samba/log.%m
#hide unreadable = Yes
#announce version = 5.0
#socket options = TCP_NODELAY SO_SNDBUF=819200 SO_RCVBUF=819200
#username map = /etc/samba/smbusers
#idmap backend = dc=lgt,dc=local
#realm = LGT.LOCAL
#logon home = \\%L\homes\%u
#keepalive = 5
#ldap delete dn = Yes
#message command = /bin/sh -c ‘/usr/bin/linpopup
#unix password sync = Yes
#set primary group script = /usr/sbin/smbldap-usermod -g « %g » « %u »
#syslog = 3
#panic action = /usr/share/samba/panic-action %d
#unix charset = ISO8859-1
#ldap idmap suffix = ou=Idmap
#winbind cache time = 300
#winbind separator = \
#interfaces = 192.168. 10.0 127.0.0.1
[homes]
comment = Home Directories
path = /home/%u
read only = No
locking = No
share modes = No
[netlogon]
comment = Network Logon Service
path = /home/netlogon
locking = No
share modes = No
[profiles]
comment = User Profiles
path = /home/profiles
read only = No
create mask = 0660
directory mask = 0770
profile acls = Yes
browseable = No
locking = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
locking = No
share modes = No
[pdf-documents]
comment = Converted PDF Documents
path = /home/pdf-documents
read only = No
[pdf-printer]
comment = PDF Printer Service
path = /tmp
guest ok = Yes
printable = Yes
use client driver = Yes
[Group Policy Object : gpo]
comment = Strategies de groupe
path = /home/gpo
invalid users = root
valid users = @ »Domain Admins »
browseable = No
root preexec = /etc/samba/script/createGPO –win_user=%U –win_group=%G –ip=%I –os_type=%a –win_host=%m –share=/home/gpo
[Partage]
comment = Partage
path = /home/lolo/Partage
read only = No
guest ok = Yes
[Account Operators]
comment = Account Operators
path = /home/groups/Account Operators
read only = No
locking = No
share modes = No
valid users = @ »Account Operators »
[Administrators]
comment = Administrators
path = /home/groups/Administrators
read only = No
locking = No
share modes = No
valid users = @ »Administrators »
[Domain Admins]
comment = Domain Admins
path = /home/groups/Domain Admins
read only = No
locking = No
share modes = No
valid users = @ »Domain Admins »
[Domain Users]
comment = Domain Users
path = /home/groups/Domain Users
read only = No
locking = No
share modes = No
valid users = @ »Domain Users »
[Domain Guests]
comment = Domain Guests
path = /home/groups/Domain Guests
read only = No
locking = No
share modes = No
valid users = lolo
[Print Operators]
comment = Print Operators
path = /home/groups/Print Operators
read only = No
locking = No
share modes = No
valid users = @ »Print Operators »
[Backup Operators]
comment = Backup Operators
path = /home/groups/Backup Operators
read only = No
locking = No
share modes = No
valid users = @ »Backup Operators »
[Replicators]
comment = Replicators
path = /home/groups/Replicators
read only = No
locking = No
share modes = No
valid users = @ »Replicators »
Très bien.
Content que cela ai pu marcher.
encore une petite question:
je doit créer 300 comptes utilisateurs donc j’aimerai faire un script de création automatique. je ne peut pas utiliser l’option -B qui force le changement de mot de passe car je doit absolument créer les mots de passe automatiquement (avec mon script). je n’ai pas trouvé d’option de smbldap-useradd qui me permette de spécifier le mot de passe dans la même commande. L’option -P permet lance smbldap-passwd après la commande de création de l’utilisateur donc je ne vois pas comment l’utiliser dans un script.
existe t il une solution avec smbldap-adduser?
sinon puis utiliser les commandes useradd et smbpasswd?
peut etre quelqu’un a déja fait un script dont je pourrais m’inspirer …
Merci