Samba avec auth des users par LDAP, je n'y arrive pas...

Samba avec auth des users par LDAP, je n'y arrive pas... - Linux et OS Alternatifs

Marsh Posté le 21-03-2006 à 10:44:05    

:hello:
 
Je tente de faire une authentification des utilisteurs samba via ldap :
 
Voici mon fichier smb.conf

[global]
log level = passdb:3 auth:3
   workgroup = ASRALL
   server string = Samba ASRALL (%v)
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   encrypt passwords = true
   passdb backend = ldapsam:ldap://127.0.0.1:389/
   ldap suffix = dc=asrall,dc=org
   ldap admin dn = cn=admin,dc=asrall,dc=org
   ldap filter = (uid=%u)
   ldap ssl = off
   ldap user suffix = ou=etudiants
   ldap passwd sync = Yes
   socket options = TCP_NODELAY
[homes]
   browseable = no
   writable = yes
   create mask = 0700
   directory mask = 0700
    comment = Répertoire personnel sur srv01
    path = /data/samba/users/%u
    guest ok = no
[printers]
   comment = All Printers
   browseable = no
   path = /tmp
   printable = yes
   public = no
   writable = no
   create mode = 0700
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no


 
Un morceau de mon ldap :

dn: dc=asrall,dc=org
objectClass: top
objectClass: dcObject
objectClass: organization
o: dc=asrall,dc=org
dc: asrall
structuralObjectClass: organization
entryUUID: 6ba317a6-47cb-102a-85ce-ad832bfc63c3
creatorsName: cn=anonymous
modifiersName: cn=anonymous
createTimestamp: 20060314172630Z
modifyTimestamp: 20060314172630Z
entryCSN: 20060314172630Z#000001#00#000000
 
dn: cn=admin,dc=asrall,dc=org
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: passcrypté
structuralObjectClass: organizationalRole
entryUUID: 6ba5cbcc-47cb-102a-85cf-ad832bfc63c3
creatorsName: cn=anonymous
modifiersName: cn=anonymous
createTimestamp: 20060314172630Z
modifyTimestamp: 20060314172630Z
entryCSN: 20060314172630Z#000002#00#000000
 
dn: ou=etudiants,dc=asrall,dc=org
ou: etudiants
objectClass: organizationalUnit
structuralObjectClass: organizationalUnit
entryUUID: 2a3e69c2-4d08-102a-9a22-c07b80da8caf
creatorsName: cn=admin,dc=asrall,dc=org
createTimestamp: 20060321092356Z
entryCSN: 20060321092356Z#000001#00#000000
modifiersName: cn=admin,dc=asrall,dc=org
modifyTimestamp: 20060321092356Z
 
dn: uid=florent,ou=etudiants,dc=asrall,dc=org
userPassword:: passcrypté
objectClass: inetOrgPerson
uid: florent
cn: florent
sn: Florent Joly
structuralObjectClass: inetOrgPerson
entryUUID: 2a3f91bc-4d08-102a-9a25-c07b80da8caf
creatorsName: cn=admin,dc=asrall,dc=org
createTimestamp: 20060321092356Z
entryCSN: 20060321092356Z#000004#00#000000
modifiersName: cn=admin,dc=asrall,dc=org
modifyTimestamp: 20060321092356Z


 
J'ai en suite effectué un smbpasswd -X password_du_rootdn_de_ldap.
 
Samba à ajouter ceci dans le LDAP :

dn: sambaDomainName=SRV01,dc=asrall,dc=org
sambaDomainName: SRV01
sambaSID: S-1-5-21-404887751-4222653003-4134393311
sambaAlgorithmicRidBase: 1000
objectClass: sambaDomain
structuralObjectClass: sambaDomain
entryUUID: 62a66c92-4d08-102a-9b23-ebdfc0fc499d
creatorsName: cn=admin,dc=asrall,dc=org
createTimestamp: 20060321092530Z
entryCSN: 20060321092530Z#000001#00#000000
modifiersName: cn=admin,dc=asrall,dc=org
modifyTimestamp: 20060321092530Z


 
Pourtant quand je tente d'accèder à la machine :
 

smbclient -L 127.0.0.1 -U florent


 
Je recois un joli :

session setup failed: NT_STATUS_LOGON_FAILURE


 
:(
 
Pouvez vous m'aider ? Merci d'avance :jap:


Message édité par M300A le 21-03-2006 à 10:45:13
Reply

Marsh Posté le 21-03-2006 à 10:44:05   

Reply

Marsh Posté le 21-03-2006 à 11:18:28    

tu m'avais dit que tu avais un reseau full linux, alors pourquoi tu utilises samba ?
 
essaye avec LDAP + NFS

Reply

Marsh Posté le 21-03-2006 à 11:25:15    

Bé ca m'aurait interressé de faire marcher samba, et la ca m'ennerve car le mode debug à 10 ne me donne rien d'interressant et que tout a l'air bon, ca devient vraiment vraiment ennervant...
 
Je crois qu'il faut que je recommence tout à zero parce que la je n'y comprend rien :  
Samba est capable d'utiliser les dn et l'attribut userPassword d'un LDAP directement oui ou non :??:
 
Peut etre qu'il faut lancer qqch pour qu'il crée sa base d'user en fonction de ceux qui sont présents dans le LDAP?

Reply

Marsh Posté le 21-03-2006 à 11:38:06    

J'ai modifié ma conf ainsi
 

[global]  
   log level = passdb:10 auth:10  
   workgroup = ASRALL  
   server string = Samba ASRALL (%v)  
   dns proxy = no  
   log file = /var/log/samba/log.%m  
   max log size = 1000  
   syslog = 0  
   panic action = /usr/share/samba/panic-action %d  
   encrypt passwords = true  
   passdb backend = ldapsam:ldap://127.0.0.1:389/  
   ldap suffix = "ou=etudiants,dc=asrall,dc=org"
   ldap admin dn = "cn=admin,dc=asrall,dc=org"
   ldap filter = (uid=%u)  
   ldap ssl = off  
   ldap passwd sync = Yes  
   socket options = TCP_NODELAY  
[homes]  
   browseable = no  
   writable = yes  
   create mask = 0700  
   directory mask = 0700  
    comment = Répertoire personnel sur srv01  
    path = /data/samba/users/%u  
    guest ok = no  
[printers]  
   comment = All Printers  
   browseable = no  
   path = /tmp  
   printable = yes  
   public = no  
   writable = no  
   create mode = 0700  
[print$]  
   comment = Printer Drivers  
   path = /var/lib/samba/printers  
   browseable = yes  
   read only = yes  
   guest ok = no

Reply

Marsh Posté le 21-03-2006 à 11:44:57    

Voila ce que j'ai dans les logs LDAP lorsque je tente de faire un smbclient :
 

ldapsam_getsampwnam: Unable to locate user [gandalf] count=0


 
Et juste en dessous :
 

check_sam_security : Couln't find user gandalf in 'passdb'


 
 
Ca m'eclaire pas beaucoup...

Reply

Marsh Posté le 21-03-2006 à 12:10:52    

Je pense qu'il me manque des attribut specifiques pour samba...
 
Quelqu'un pourrait me copier un utilisateur crée pas smbldap-tools :??:
 
:jap:

Reply

Marsh Posté le 21-03-2006 à 13:32:35    

M300A a écrit :

Je pense qu'il me manque des attribut specifiques pour samba...
 
Quelqu'un pourrait me copier un utilisateur crée pas smbldap-tools :??:
 
:jap:


 
salut me revoilà.
voici une extraction de l'un de mes utilisateurs


version: 1
 
# Export LDIF pour: uid=ct00037,ou=People,dc=cao
# Generé par phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) le March 21, 2006 1:46 pm
# Serveur: Domaine CAO (serv880)
# Portée de la recherche: base
# Nombre d'entrées: 1
 
# Entrée 1: uid=ct00037,ou=People,dc=cao
dn:uid=ct00037,ou=People,dc=cao
uid: ct00037
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: sambaSamAccount
objectClass: shadowAccount
sambaHomeDrive: Z:
sambaPrimaryGroupSID: S-1-5-21-1334627239-3803369990-553014159-513
sambaSID: S-1-5-21-1334627239-3803369990-553014159-21774
loginShell: /bin/ksh
uidNumber: 10387
sambaLogonScript: ct00037.cmd
sambaProfilePath: \\serveur\users\ct00037\.ntprofile
gidNumber: 4500
homeDirectory: /home/ct00037
shadowMax: 60
shadowWarning: 7
cn: Prenom NOM
gecos: Prenom NOM
displayName: Prenom NOM
sambaKickoffTime: 0
sambaPasswordHistory: 5D2763B64959805960C28AE9834BDEE0C9235799D50F353771B561
 7D15AC86D27DED7BA31B007A153ED25F94DE6564983F76BC04FE789824261F96F5C2B5F25BF
 118A54BA0AA5DB250BA9A33829C4A58FCA370829814E6EA815DC3B01A4178A7828356B34B25
 C41E0F79D7223BD74284F9DAAD4A270485C3710C8EE3E2D79168
sambaAcctFlags: [UX         ]
sambaBadPasswordCount: 0
sambaBadPasswordTime: 0
userPassword: {CRYPT}wnPKWkDnnW0m2
sambaLMPassword: 8B9BEE4904BE4BCDAAD3B435B51404EE
sambaNTPassword: 02ED2BA46259E8636B8E7BBD956F350A
sambaPwdLastSet: 1139907303
sambaPwdCanChange: 1139907303
sambaPwdMustChange: 1145091303
shadowLastChange: 13193
shadowExpire: 13253

Reply

Marsh Posté le 21-03-2006 à 13:36:35    

Hum c'est vraiment... horrible :sarcastic:
 
Je crois que je vais abandonner, c'est beaucoup trop complexe pour moi!
 
A moins que tu sache me dire quels champs exact sont nécessaires...
 
J'aimerais juste qu'il authentifi avec uid & userPassword :( mais de toute evidence c'est absolument impossible :(

Reply

Marsh Posté le 21-03-2006 à 13:52:30    

srv01:/home/admin/ldap# ldapadd -x -W -D "cn=admin,dc=asrall,dc=org" -f projet2.ldif  
Enter LDAP Password:  
adding new entry "uid=ct00037,ou=etudiants,dc=asrall,dc=org"
ldap_add: Invalid syntax (21)
 additional info: objectClass: value #0 invalid per syntax


 
J'ai repris exactement ton exemple en ne changement que le suffix :(
 
Vraiment je comprend rien

Reply

Marsh Posté le 21-03-2006 à 13:55:20    

pour commencer il te faut tout les attributs qui commencent par samba... (sauf le sambapasswordhistory qui est pas vraiement important)
et pour le lien avec unix, les uid et uidnumber
pour le reste en cherchant un peu tu apprendra à qui ils servent facilement
tu sais avec toutes les docs sur le net, c'est pas tres compliqué,
le premier serveur que j'ai mis en place il y a un an j'ai bien galeré mais la j'en suis a installer un serveur samba/LDAP Controleur de domaine+ un controleur secondaire avec replication de la base ldap et c'est pas bien compliqué quand tu as pigé le truc.
il faut juste insister un peu, bien se prendre la tête au debut et apres ca va tout seul.
 
tien je detaille :


version: 1
 
# Export LDIF pour: uid=ct00037,ou=People,dc=cao
# Generé par phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) le March 21, 2006 1:46 pm
# Serveur: Domaine CAO (serv880)
# Portée de la recherche: base
# Nombre d'entrées: 1
 
# Entrée 1: uid=ct00037,ou=People,dc=cao
dn:uid=ct00037,ou=People,dc=cao
uid: ct00037
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: sambaSamAccount
objectClass: shadowAccount
sambaHomeDrive: lettre de connection homedir
sambaPrimaryGroupSID: S-1-5-21-1334627239-3803369990-553014159-513
sambaSID: S-1-5-21-1334627239-3803369990-553014159-21774
loginShell: shell unix
uidNumber: uid unix
sambaLogonScript: script de login
sambaProfilePath: chemin d'acces au profil itinerant sur le serveur
gidNumber: groupe unix
homeDirectory: home directory unix
shadowMax:  durée de validite password unix
shadowWarning: delai d'alerte
cn: Prenom NOM
gecos: Prenom NOM
displayName: Prenom NOM
sambaKickoffTime: 0
sambaPasswordHistory: historique des mots de passes pour regle au moment du changement
sambaAcctFlags: [UX         ] atributs du compte (U=utilisateur, W=machine, X=password never expire,L=verrouillé,D=desactive et j'en oublie)
sambaBadPasswordCount: 0
sambaBadPasswordTime: 0
userPassword: mot de passe unix
sambaLMPassword: mot depasse windows partie1
sambaNTPassword: mot de passe windows partie2
sambaPwdLastSet: date du dernier chgt de password
sambaPwdCanChange: date a partir de laquelle l'util peut changer
sambaPwdMustChange: date a partir de laquelle l'util DOIT changer
shadowLastChange: date du dernier chgt de password unix
shadowExpire: date d'expiration du password unix  


 
en regle generale, les password unix et windows sont liés
seul l'affichage est different
samba calcule en secondes  
unix calcule en jours.
voila j'espere que ca t'aide un peu plus.

Reply

Marsh Posté le 21-03-2006 à 13:55:20   

Reply

Marsh Posté le 21-03-2006 à 13:56:43    

M300A a écrit :

srv01:/home/admin/ldap# ldapadd -x -W -D "cn=admin,dc=asrall,dc=org" -f projet2.ldif  
Enter LDAP Password:  
adding new entry "uid=ct00037,ou=etudiants,dc=asrall,dc=org"
ldap_add: Invalid syntax (21)
 additional info: objectClass: value #0 invalid per syntax


 
J'ai repris exactement ton exemple en ne changement que le suffix :(
 
Vraiment je comprend rien


 
quels chemas as-tu dans ton slapd.conf?
poste le pour voir.

Reply

Marsh Posté le 21-03-2006 à 13:57:32    

L'ennuie c'est que je cherche vraiment à faire quelque chose de très simple moi, il n'y a ni client windows, ni PDC etc ;)
 
Je veux juste que tout les utilisateurs de mon aunaire un un partage dans samba, genre /data/sambas/users/%U...
 
Quelquechose de vraiment simple quoi...

Reply

Marsh Posté le 21-03-2006 à 13:58:39    

(pas de bind sur des comptes Unix non plus !)
 
Je te pose mon schema... Je pensais aussi que ca venait de la...
 
Dans slapd.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

Reply

Marsh Posté le 21-03-2006 à 14:01:02    

pour qu'un partage samba soit accessible a un utilisateur, il faut que ce dernier soit reconnu par le systeme hote (unix) ou du winbind mais la je connais pas.
donc il te faut soit dupliquer tes utilisateurs ldap en local (/etc/passwd + smbpasswd)
soit modifier ton ldap pour integrer les utilisateurs samba avec les attributs unix.

Reply

Marsh Posté le 21-03-2006 à 14:03:25    

Et pour mon schema :
http://www.le-vert.net/divers/samba.schema
 
Et si mes utilisateurs existent des la LDAP avec les droits Unix, il faut que je touche à quoi après ?? pam ??

Reply

Marsh Posté le 21-03-2006 à 14:03:40    

bon deja c'est pas bon
samba c'est samba3.schema quil faut pendre et pas le samba.schema
le samba.schema c'est celui de la 2.x
pour samba3 il te faut le schema samba3 (sauf si c'est toi qui l'a renommé).
ca doit expliquer pas mal de tes problemes
car du coup les attributs samba presents dans ton ldap ne 'collent' pas avec ceux que samba cherche ...
 
 
EDIT: j'ai regardé ton samba.schema ca semble etre le bon...
 
donc peut etre probleme d'attributs absents. comme ca je vois pas trop
 
lance ton ldap en mode debug pour voir ce qu'il te dit.
 
slapd -d 10000 -h "ldap:///"
et regarde dans la fenetre ce qu'il s'y passe, c'est pas toujours tres clair mais ca aide.


Message édité par aknott31 le 21-03-2006 à 14:08:00
Reply

Marsh Posté le 21-03-2006 à 14:07:32    

# objectIdentifier SambaRoot 1.3.6.1.4.1.7165
# objectIdentifier Samba3 SambaRoot:2
# objectIdentifier Samba3Attrib Samba3:1
# objectIdentifier Samba3ObjectClass Samba3:2


 
Je vois ca dans le schema, de plus c'est celui fourni avec le paquet samba-doc dans debian et le samba présent est bien une version 3 donc... ;)


Message édité par M300A le 21-03-2006 à 14:08:05
Reply

Marsh Posté le 21-03-2006 à 14:08:20    

cf edit.

Reply

Marsh Posté le 21-03-2006 à 14:20:55    

Laisse tomber je vais dumper la liste de mes utilisateurs ldap et faire un shell script qui crée leur compte unix, le home etc ;)
 
Ca sera bien degeulasse mais au moins ca fonctionnera !

Reply

Marsh Posté le 21-03-2006 à 14:22:08    

c'est dommage.... mais si tu es pressé je comprends.

Reply

Marsh Posté le 21-03-2006 à 14:23:15    

C'est surtout que j'ai installé ldap pour la premiere fois y'a 3 semaines et que 34 lignes pour crée un utilisateurs ca me rebute un peu ;)
 
Trop compliqué pour moi... Je reessayerais ca dans quelques années :p

Reply

Marsh Posté le 09-01-2008 à 17:55:32    

Moi j'ai mit en place samba et LDAPL. Est ce que tu as les module NSS et PAM sinon sa fonctionnera pas

Reply

Marsh Posté le 09-01-2008 à 17:56:39    

J'ai oublié si tu veux j'ai mon rapport de stage en PDF. ça pourra peut être t'aider ?

Reply

Marsh Posté le 09-01-2008 à 19:17:11    

2ans apres, je pense qu'il a trouvé

Reply

Marsh Posté le 09-01-2008 à 19:51:49    

Rapport de stage sur quoi? Parce que moi je suis sur le point de m'attaquer au même problème et mon passé avec Samba est tourmenté ... J'aimerais pour une fois que ça passe tout droit

Reply

Marsh Posté le 09-01-2008 à 19:59:38    

Reply

Marsh Posté le 09-01-2008 à 20:38:56    

:jap:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed