Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2:samba-ldap-pdc

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

lpi2:samba-ldap-pdc [2013/10/16 15:52]
lpi2:samba-ldap-pdc [2013/10/16 15:52] (aktuell)
Zeile 1: Zeile 1:
 +====== PDC mit LDAP Backend ======
 +Vorraussetzung:​ slapd wie in [[samba-ldap]] beschrieben konfiguriert und [[nss-ldap]] konfiguriert.
 +
 +Dieses Beispiel beschreibt eine minimale Konfiguration. ​
 +
 +===== Samba =====
 +''/​etc/​samba/​smb.conf'':​
 +<​file>​
 +[global]
 +  workgroup = kurs
 +  interfaces = eth0
 +
 +  #Samba als PDC:
 +  os level = 34
 +  domain logons = yes
 +  logon home =
 +  logon path =
 +
 +  #LDAP Anbindung:
 +  passdb backend = ldapsam:​ldap://​ldap1.villa.local
 +  ldap suffix ​        = dc=villa,​dc=local
 +  ldap admin dn       = "​cn=admin,​dc=villa,​dc=local"​
 +  ldap user suffix ​   = ou=people
 +  ldap group suffix ​  = ou=groups
 +  ldap machine suffix = ou=computers
 +  ldap idmap suffix ​  = ou=people
 +  ldap ssl = off
 +
 +  obey pam restrictions = no
 +  #​ldapsam:​trusted = yes
 +
 +[daten]
 +  path = /tmp
 +  writable = yes
 +</​file>​
 +
 +Debian
 +  /​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 ====
 +Ist der Samba-Server PDC?
 +  nmblookup -m kurs#1b
 +
 +===== 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
 +  * den in der ''​smb.conf''​ im Parameter ''​ldap machine suffix''​ genannten Teilbaum,
 +  * die Gruppe, der die Maschinenaccounts zugeordnet werden sollen
 +  * 3 Gruppen mit den Namen "​domadmin",​ "​domusers",​ "​domguests"​ und der jeweils genannten sambaSID ​
 +  * und einen Domänenadministrator ​
 +hinzugefügt werden.
 +
 +<code bash>
 +DOMAIN="​dc=villa,​dc=local"​
 +WORKGROUP=kurs
 +SID=`net getlocalsid $WORKGROUP | sed '​s/​.*:​\ //'`
 +ldapadd -x -W <<​LDIF
 +</​code>​
 +<​file>​
 +TODO muss neu erzerugt werden
 +</​file>​
 +
 +=== Domänenadmin anpassen ===
 +  smbpasswd -a smbadmin
 +Unter Windows hat der Domänenadmin immer die RID 500:
 +  pdbedit -U $SID-500 -u smbadmin -r
 +
 +Überprüfen:​
 +  pdbedit -L -v smbadmin
 +
 +Und der soll das Recht haben, Rechner der Domäne hinzuzufügen:​
 +  net -U smbadmin rpc rights grant smbadmin SeMachineAccountPrivilege
 +
 +Überprüfen:​
 +  net -U smbadmin rpc rights list smbadmin
 +  ​
 +Alternativ:
 +  net sam rights grant ntadmin SeMachineAccountPrivilege SeAddUsersPrivilege
 +   
 +
 +=== 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:
 +
 +posixAccount anlegen:
 +  DOMAIN="​dc=villa,​dc=local"​
 +  MACHINE="​appl2"​
 +  ldapadd -x -W <<​LDIF
 +<​file>​
 +dn: cn=$MACHINE,​ou=Computers,​$DOMAIN
 +objectClass:​ top
 +objectClass:​ posixAccount
 +objectClass:​ account
 +cn: $MACHINE
 +uidNumber: 20000
 +gidNumber: 515
 +homeDirectory:​ /tmp
 +loginShell: /bin/false
 +uid: $MACHINE$
 +
 +LDIF
 +</​file>​
 +
 +Jetzt kann der Rechner unter Windows der Domaene hinzugefügt werden. (( samba-Maschinen-Account anlegen:
 +  smbpasswd -a -m $MACHINE
 +))
 +
 +==== smbldap-tools ====
 +
 +''/​etc/​samba/​smb.conf''​ :
 +<​file>​
 +[global]
 +</​file>​
 +<​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'':​
 +
 +( noch nicht getestet )
 +
 +==== ldapsam:​editposix ====
 +siehe
 +  man smb.conf
 +
 +Ist beschrankt auf ''​obejectclass=account'',​ kann aktuell noch nicht mit inetOrgPerson u.ä. umgehen.
 +
 +
 +====== Webmin - Modul LDAP Useradmin ======
 +SuSE:
 +  http://​www.webmin.com
 +
 +Einstellungen ​
 +''/​etc/​webmin/​ldap-useradmin/​config'':​ ( SuSE )
 +<​file>​
 +samba_def=1
 +samba_class=sambaSamAccount
 +samba_gclass=sambaGroupMapping
 +samba_domain=S-1-5-21-2516115203-501549975-3175969160
 +</​file>​
 +  ​
 +
 +
 +====== Dokus & Links ======
 +  * 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
  
lpi2/samba-ldap-pdc.txt · Zuletzt geändert: 2013/10/16 15:52 (Externe Bearbeitung)