Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
fortgeschrittene:samba-ldap-pdc [2011/04/07 18:42] iw [PDC mit LDAP Backend] |
fortgeschrittene:samba-ldap-pdc [2013/10/16 15:52] (aktuell) |
||
---|---|---|---|
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 39: | Zeile 39: | ||
Das Passwort des in der ''smb.conf'' genannten LDAP Admin muß dem Samba Server im Klartext vorliegen: | Das Passwort des in der ''smb.conf'' genannten LDAP Admin muß dem Samba Server im Klartext vorliegen: | ||
smbpasswd -W | smbpasswd -W | ||
+ | |||
==== Testen ==== | ==== Testen ==== | ||
Ist der Samba-Server PDC? | Ist der Samba-Server PDC? | ||
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 58: | 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 125: | 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 144: | 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 188: | 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 196: | 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 | ||
+ |