Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


fortgeschrittene:samba-ldap-pdc

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
fortgeschrittene:samba-ldap-pdc [2011/04/07 16:34]
iw
fortgeschrittene:samba-ldap-pdc [2013/10/16 15:52] (aktuell)
Zeile 1: Zeile 1:
 ====== PDC mit LDAP Backend ====== ====== PDC mit LDAP Backend ======
-Vorraussetzung:​ slapd wie in [[samba-ldap]] beschrieben konfiguriert.+Vorraussetzung:​ slapd wie in [[samba-ldap]] beschrieben ​konfiguriert und [[nss-ldap]] ​konfiguriert.
  
 Dieses Beispiel beschreibt eine minimale Konfiguration. ​ Dieses Beispiel beschreibt eine minimale Konfiguration. ​
Zeile 19: Zeile 19:
   #LDAP Anbindung:   #LDAP Anbindung:
   passdb backend = ldapsam:​ldap://​ldap1.villa.local   passdb backend = ldapsam:​ldap://​ldap1.villa.local
-  ldap suffix = dc=villa,​dc=local +  ldap suffix ​        ​= dc=villa,​dc=local 
-  ldap admin dn = "​cn=admin,​dc=villa,​dc=local"​ +  ldap admin dn       ​= "​cn=admin,​dc=villa,​dc=local"​ 
-  ldap user suffix = ou=people +  ldap user suffix ​   = ou=people 
-  ldap group suffix = ou=groups+  ldap group suffix ​  ​= ou=groups
   ldap machine suffix = ou=computers   ldap machine suffix = ou=computers
-  ldap idmap suffix = ou=people+  ldap idmap suffix ​  ​= ou=people
   ldap ssl = off   ldap ssl = off
  
Zeile 37: Zeile 37:
 Debian Debian
   /​etc/​init.d/​samba restart   /​etc/​init.d/​samba restart
 +Das Passwort des in der ''​smb.conf''​ genannten LDAP Admin muß dem Samba Server im Klartext vorliegen:
 +  smbpasswd -W
  
 ==== Testen ==== ==== Testen ====
Zeile 42: Zeile 44:
   nmblookup -m kurs#1b   nmblookup -m kurs#1b
  
-===== LDAP Verzeichnis anpassen ​=====+===== Rechner der Domäne hinzufügen ===== 
 +Dazu gibt es 4 Möglichkeiten:​ 
 +  * von Hand 
 +  * mit den smbldap-tools 
 +  * ''​ldapsmb''​ 
 +  * und ab Samba 3.0.25 kann samba das mit den Parametern ''​ldapsam:​trusted''​ und ''​ldapsam:​editposix''​ selbst 
 + 
 +==== von Hand ==== 
 +=== LDAP Verzeichnis anpassen ===
 Im LDAP Verzeichnis müssen nun noch Einträge für Im LDAP Verzeichnis müssen nun noch Einträge für
   * den in der ''​smb.conf''​ im Parameter ''​ldap machine suffix''​ genannten Teilbaum,   * den in der ''​smb.conf''​ im Parameter ''​ldap machine suffix''​ genannten Teilbaum,
Zeile 57: Zeile 67:
 </​code>​ </​code>​
 <​file>​ <​file>​
-dn: ou=computers,​$DOMAIN +TODO muss neu erzerugt werden
-objectClass:​ top +
-objectClass:​ organizationalUnit +
-ou: computers +
- +
-dn: cn=workstations,​ou=groups,​$DOMAIN +
-objectClass:​ top +
-objectClass:​ posixGroup +
-gidNumber: 515 +
-cn: workstations +
- +
-dn: cn=domadmins,​ou=groups,​$DOMAIN +
-objectClass:​ posixGroup +
-objectClass:​ sambaGroupMapping +
-gidNumber: 512 +
-cn: domadmins +
-sambaSID: $SID-512 +
-sambaGroupType:​ 2 +
-displayName:​ Domain Admins +
-description:​ Domain Administrators +
- +
-dn: cn=domusers,​ou=groups,​$DOMAIN +
-objectClass:​ posixGroup +
-objectClass:​ sambaGroupMapping +
-gidNumber: 513 +
-cn: domusers +
-sambaSID: $SID-513 +
-sambaGroupType:​ 2 +
-displayName:​ Domain Users +
-description:​ Domain Users +
- +
-dn: cn=domguests,​ou=groups,​$DOMAIN +
-objectClass:​ posixGroup +
-objectClass:​ sambaGroupMapping +
-gidNumber: 514 +
-cn: domguests +
-sambaSID: $SID-514 +
-sambaGroupType:​ 2 +
-displayName:​ Domain Guests +
-description:​ Domain Guests Users +
- +
-dn: uid=smbadmin,​ou=people,​$DOMAIN +
-objectClass:​ top +
-objectClass:​ posixAccount +
-objectClass:​ account +
-cn: Samba Domain Admin +
-uid: smbadmin +
-uidNumber: 10001 +
-gidNumber: 512 +
-homeDirectory:​ /​home/​smbadmin +
-loginShell: /​bin/​false +
-LDIF+
 </​file>​ </​file>​
  
-===== Domänenadmin anpassen ​=====+=== Domänenadmin anpassen ===
   smbpasswd -a smbadmin   smbpasswd -a smbadmin
 Unter Windows hat der Domänenadmin immer die RID 500: Unter Windows hat der Domänenadmin immer die RID 500:
Zeile 124: Zeile 83:
 Überprüfen:​ Überprüfen:​
   net -U smbadmin rpc rights list smbadmin   net -U smbadmin rpc rights list smbadmin
 +  ​
 +Alternativ:
 +  net sam rights grant ntadmin SeMachineAccountPrivilege SeAddUsersPrivilege
 +   
  
-===== Rechner ​der Domäne ​hinzufügen ​=====+=== Rechner hinzufügen ===
 Wie bei normalen Benutzern auch muß zu einem Samba-Maschinen-Account auch ein Unix/Linux Account existieren. Um einen Rechner mit dem Namen "​vm2000"​ der Domäne hinzuzufügen sind daher folgende Schritte notwendig: Wie bei normalen Benutzern auch muß zu einem Samba-Maschinen-Account auch ein Unix/Linux Account existieren. Um einen Rechner mit dem Namen "​vm2000"​ der Domäne hinzuzufügen sind daher folgende Schritte notwendig:
  
Zeile 143: Zeile 106:
 loginShell: /bin/false loginShell: /bin/false
 uid: $MACHINE$ uid: $MACHINE$
 +
 LDIF LDIF
 </​file>​ </​file>​
  
-samba-Maschinen-Account anlegen:+Jetzt kann der Rechner unter Windows der Domaene hinzugefügt werden. (( samba-Maschinen-Account anlegen:
   smbpasswd -a -m $MACHINE   smbpasswd -a -m $MACHINE
 +))
  
-Jetzt kann der Rechner unter Windows der Domaene hinzugefügt werden.+==== smbldap-tools ====
  
-Dazu gibt es 4 Möglichkeiten+''/​etc/​samba/​smb.conf'' ​: 
-  ​* von Hand +<​file>​ 
-  ​* mit den smbldap-tools +[global] 
-  ​''​ldapsmb''​ +</​file>​ 
-  * und ab Samba 3.0.25 kann samba das mit den Parametern ​''​ldapsam:trusted'' ​und ''​ldapsam:editposix'' ​selbst+<​file>​ 
 +  ​ldap delete dn = Yes 
 +  ​unix password sync = Yes 
 +  passwd program = /​usr/​sbin/​smbldap-passwd %u 
 + 
 +  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 2 -w "​%u"​ 
 +  add group script = /​usr/​sbin/​smbldap-groupadd -a "​%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"​ 
 +</​file>​ 
 +  zcat /​usr/​share/​doc/​smbldap-tools/​examples/​smbldap.conf.gz > /​etc/​smbldap-tools/​smbldap.conf 
 +  ​cp /​usr/​share/​doc/​smbldap-tools/​examples/​smbldap_bind.conf /​etc/​smbldap-tools/​smbldap_bind.conf 
 +''​/​etc/​smbldap-tools/​smbldap_bind.conf'' ​: 
 +<​file>​ 
 +slaveDN="​cn=admin,​dc=linuxhotel,​dc=de"​ 
 +slavePw="​villa"​ 
 +masterDN="​cn=admin,​dc=linuxhotel,​dc=de"​ 
 +masterPw="​villa"​ 
 +</​file>​ 
 + 
 +''/​etc/​smbldap-tools/​smbldap.conf''​ : 
 +<​file>​ 
 +#​SID="​S-1-5-21-2320849130-3131792283-2083377348"​ 
 +</​file>​ 
 +<​file>​ 
 +sambaDomain="​kurs"​ 
 +</​file>​ 
 +<​file>​ 
 +slaveLDAP="​localhost"​ 
 +</​file>​ 
 +<​file>​ 
 +masterLDAP="​localhost"​ 
 +</​file>​ 
 +<​file>​ 
 +ldapTLS="​0
 +</​file>​ 
 +<​file>​ 
 +suffix="​dc=linuxhotel,​dc=de"​ 
 +</​file>​ 
 +<​file>​ 
 +usersdn="​ou=People,​${suffix}"​ 
 +</​file>​ 
 +<​file>​ 
 +idmapdn="​ou=People,​${suffix}"​ 
 +</​file>​ 
 +<​file>​ 
 +userSmbHome=""​ 
 +</​file>​ 
 +<​file>​ 
 +userProfile=""​ 
 +</​file>​ 
 +<​file>​ 
 +userScript=""​ 
 +</​file>​ 
 +  chmod 0644 /​etc/​smbldap-tools/​smbldap.conf 
 +  chmod 0600 /​etc/​smbldap-tools/​smbldap_bind.conf 
 +  smbldap-populate -a smbadmin -e /tmp/samba.ldif 
 +''​/​tmp/​samba.ldif''​ prüfen (( Todo: ''​smbadmin'' ​checken: ''​uidNumber''​ und ''​gidNumber''​ auf einen anderen Wert als 0 ändern ... )) 
 +  ldapadd -x -W -D cn=admin,​dc=example,​dc=com -f /​tmp/​samba.ldif -h ldap1.example.com 
 +(( oder direkt 
 +  smbldap-populate -a smbadmin 
 +eingeben und nachträglich ''​uidNumber''​ und ''​gidNumber''​ auf einen anderen Wert als 0 ändern 
 +)) 
 + 
 + 
 +=== Doku === 
 +  * ''/​usr/​share/​doc/​smbldap-tools/​README.Debian.gz''​
  
 +==== ldapsmb ====
 Alternativ gibt es bei SuSE das Paket ''​ldapsmb''​ als einfaches Beispiel für ein ''​add machine script'':​ Alternativ gibt es bei SuSE das Paket ''​ldapsmb''​ als einfaches Beispiel für ein ''​add machine script'':​
  
 ( noch nicht getestet ) ( noch nicht getestet )
  
-<​file>​ +==== ldapsam:​editposix ==== 
-add user script ​ldapsmb -a -u +siehe 
-delete user script ​ldapsmb -d -u +  man smb.conf 
-add group script ​ldapsmb -a -g + 
-delete group script ​ldapsmb -d -g +Ist beschrankt auf ''​obejectclass=account'',​ kann aktuell noch nicht mit inetOrgPerson u.ä. umgehen.
-add user to group script ​ldapsmb -j -u +
-delete user from group script ​ldapsmb -j -u +
-set primary group script ​ldapsmb -m -u +
-add machine script = /​usr/​sbin/​useradd ​ -c Machine -d /​var/​lib/​nobody -s /bin/false %m$ +
-</​file>​+
  
-Auch die Idealix-Skripte sind für diesen Einsatzfall geschrieben worden. 
-Debian-Paket:​ ''​smbldap-tools''​ 
  
 ====== Webmin - Modul LDAP Useradmin ====== ====== Webmin - Modul LDAP Useradmin ======
Zeile 187: Zeile 216:
 samba_domain=S-1-5-21-2516115203-501549975-3175969160 samba_domain=S-1-5-21-2516115203-501549975-3175969160
 </​file>​ </​file>​
- +  ​
-====== Die smbldap-tools von IDEALX ====== +
-Auf Debian mit Samba 3.0.24 und den mitgelieferten smbldap-tools funktionierte das Hinzufügen von Maschinenaccounts zu einem PDC. Getestet von MichaelWandel.+
  
  
Zeile 195: Zeile 222:
   * Howto für SuSE: http://​en.opensuse.org/​Howto_setup_SUSE_as_SAMBA_PDC_with_OpenLDAP%2C_DYNDNS_and_CLAM   * Howto für SuSE: http://​en.opensuse.org/​Howto_setup_SUSE_as_SAMBA_PDC_with_OpenLDAP%2C_DYNDNS_and_CLAM
   * Alternatives LDAP Setup : http://​wiki.samba.org/​index.php/​Ldapsam_Editposix   * Alternatives LDAP Setup : http://​wiki.samba.org/​index.php/​Ldapsam_Editposix
 +
fortgeschrittene/samba-ldap-pdc.1302194057.txt.gz · Zuletzt geändert: 2011/04/07 16:34 von iw