smbpasswd -a -m $MACHINE
Dies ist eine alte Version des Dokuments!
Vorraussetzung: slapd wie in samba-ldap beschrieben konfiguriert und nss-ldap konfiguriert.
Dieses Beispiel beschreibt eine minimale Konfiguration.
/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
Das Passwort des in der smb.conf
genannten LDAP Admin muß dem Samba Server im Klartext vorliegen:
smbpasswd -W
Ist der Samba-Server PDC?
nmblookup -m kurs#1b
Dazu gibt es 4 Möglichkeiten:
ldapsmb
ldapsam:trusted
und ldapsam:editposix
selbstIm LDAP Verzeichnis müssen nun noch Einträge für
smb.conf
im Parameter ldap machine suffix
genannten Teilbaum,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
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
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
Jetzt kann der Rechner unter Windows der Domaene hinzugefügt werden. 1)
/etc/samba/smb.conf
:
[global]
ldap delete dn = Yes passwd program = /usr/sbin/smbldap-passwd %u passwd chat = *New*password* %n\n *Retype*new*password* %n\n *all*authentication*tokens*updated* add user script = /usr/sbin/smbldap-useradd -m "%u" delete user script = /usr/sbin/smbldap-userdel "%u" add machine script = /usr/sbin/smbldap-useradd -w "%u" add group script = /usr/sbin/smbldap-groupadd -p "%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"
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
:
slaveDN="cn=admin,dc=linuxhotel,dc=de" slavePw="villa" masterDN="cn=admin,dc=linuxhotel,dc=de" masterPw="villa"
/etc/smbldap-tools/smbldap.conf
:
SID="S-1-5-21-2320849130-3131792283-2083377348" sambaDomain="kurs" slaveLDAP="localhost" masterLDAP="localhost" ldapTLS="0" suffix="dc=linuxhotel,dc=de" idmapdn="ou=People,${suffix}" userSmbHome="" userProfile=""
chmod 0644 /etc/smbldap-tools/smbldap.conf chmod 0600 /etc/smbldap-tools/smbldap_bind.conf ./smbldap-populate -a smbadmin
/usr/share/doc/smbldap-tools/README.Debian.gz
Alternativ gibt es bei SuSE das Paket ldapsmb
als einfaches Beispiel für ein add machine script
:
( noch nicht getestet )
siehe
man smb.conf
Kann aktuell noch nicht mit inetOrgPerson u.ä. umgehen.
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
smbpasswd -a -m $MACHINE