Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| — | 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 | ||