Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


fortgeschrittene:samba-ldap-pdc

Dies ist eine alte Version des Dokuments!


PDC mit LDAP Backend

Vorraussetzung: slapd wie in samba-ldap beschrieben konfiguriert.

Dieses Beispiel beschreibt eine minimale Konfiguration.

Samba

/etc/samba/smb.conf:

[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

Debian

/etc/init.d/samba restart

Testen

Ist der Samba-Server PDC?

nmblookup -m kurs#1b

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.

DOMAIN="dc=villa,dc=local"
WORKGROUP=kurs
SID=`net getlocalsid $WORKGROUP | sed 's/.*:\ //'`
ldapadd -x -W <<LDIF
dn: ou=computers,$DOMAIN
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

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

Rechner der Domäne 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
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

samba-Maschinen-Account anlegen:

smbpasswd -a -m $MACHINE

Jetzt kann der Rechner unter Windows der Domaene hinzugefügt werden.

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

Alternativ gibt es bei SuSE das Paket ldapsmb als einfaches Beispiel für ein add machine script:

( noch nicht getestet )

add user script = ldapsmb -a -u
delete user script = ldapsmb -d -u
add group script = ldapsmb -a -g
delete group script = ldapsmb -d -g
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$

Auch die Idealix-Skripte sind für diesen Einsatzfall geschrieben worden. Debian-Paket: smbldap-tools

Webmin - Modul LDAP Useradmin

SuSE:

http://www.webmin.com

Einstellungen /etc/webmin/ldap-useradmin/config: ( SuSE )

samba_def=1
samba_class=sambaSamAccount
samba_gclass=sambaGroupMapping
samba_domain=S-1-5-21-2516115203-501549975-3175969160

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.

Dokus & Links

fortgeschrittene/samba-ldap-pdc.1302194057.txt.gz · Zuletzt geändert: 2011/04/07 16:34 von iw