Samba PDC mit LDAP
Es wird angenommen, dass schon ein LDAP-Server im Einsatz ist. Wenn nicht dann bitte den Artikel LDAP lesen und zuerst den LDAP-Server aufsetzen.
Ausgangspinformationen:
Computername: Ldapserver
Domänen Controller (Name): Server-DC
IP-Adresse des DC: 192.168.0.250 Maske: 255.255.255.0
Domäne: MONOPLAN
Gateway: 192.168.0.1
DNS: 192.168.0.200
Es wird ein Webbasierendes Verwaltungstool benutzt, deshalb werden wir auch ein Apache Server aufsetzten.
Folgende Pakete werden nachinstalliert.
- samba
- samba-client
- apache2
- apache2-mod_php5
- php5-ldap
- php5-gettext
- php5-mcrypt
- php5-mbstring
1.
Nach der Installation den Apache-Server starten
2.
Im Internet unter http://sourceforge.net/projects/lam finden Sie ein LDAP Account Manager (LAM). Downloaden und im Ordner /install speichern, dannach entpacken, Ordner umbenennen, verschieben und die Rechte ändern
Ldapserver:/ # tar -xvf ldap-account-manager-2.7.0.tar.gz
Ldapserver:/ # mv ldap-account-manager-2.7.0 lam
Ldapserver:/ # mv lam /srv/www/htdocs/
Ldapserver:/ # cd /srv/www/htdocs/
Ldapserver:/ # chown -Rv wwwrun:www lam/
3.
Die Konfigurationsdatei muss man noch anpassen, aus diesem Grund muss man die config.cfg_sample ins config.cfg und lam.conf_sample ins lam.conf umbenennen. Außerdem muss man noch die lam.conf editieren, anpassen.
Ldapserver:/ # mv lam.conf_sample lam.conf
Die lam.conf anpassen
serverURL: ldap://localhost:389
# list of users who are allowed to use LDAP Account Manager
# names have to be seperated by semicolons
# e.g. admins: cn=admin,dc=yourdomain,dc=org;cn=root,dc=yourdomain,dc=org
admins: cn=Manager,dc=monoplan,dc=de
# password to change these preferences via webfrontend (default: lam)
passwd: {SSHA}RjBruJcTxZEdcBjPQdRBkDaSQeY= iueleA==
# suffix of tree view
# e.g. dc=yourdomain,dc=org
treesuffix: dc=monoplan,dc=de
# default language (a line from config/language)
defaultLanguage: en_GB.utf8:UTF-8:English (Great Britain)
# Path to external Script
scriptPath:
# Server of external Script
scriptServer:
# Access rights for home directories
scriptRights: 750
# Number of minutes LAM caches LDAP searches.
cachetimeout: 5
# Module settings
modules: posixAccount_minUID: 10000
modules: posixAccount_maxUID: 30000
modules: posixAccount_minMachine: 50000
modules: posixAccount_maxMachine: 60000
modules: posixGroup_minGID: 10000
modules: posixGroup_maxGID: 20000
modules: posixGroup_pwdHash: SSHA
modules: posixAccount_pwdHash: SSHA
# List of active account types.
activeTypes: user,group,host,smbDomain
types: suffix_user: ou=users,dc=monoplan,dc=de
types: attr_user: #uid;#givenName;#sn;#uidNumber;#gidNumber
types: modules_user: inetOrgPerson,posixAccount,shadowAccount,sambaSamAccount
types: suffix_group: ou=groups,dc=monoplan,dc=de
types: attr_group: #cn;#gidNumber;#memberUID;#description
types: modules_group: posixGroup,sambaGroupMapping
types: suffix_host: ou=computers,dc=monoplan,dc=de
types: attr_host: #cn;#description;#uidNumber;#gidNumber
types: modules_host: account,posixAccount,sambaSamAccount
types: suffix_smbDomain: dc=monoplan,dc=de
types: attr_smbDomain: sambaDomainName:Domain name;sambaSID:Domain SID
types: modules_smbDomain: sambaDomain
Im Browser unter der Adresse http://IP-Adresse-des-Servers/lam können Sie sich jetzt einloggen. Passwort ist das
LDAP-Passwort das schon früher definiert war. Das Passwort für die andere Einstellungen ist das Wort: lam
4.
Die Datei /etc/samba/smb.conf anpassen
workgroup = MONOPLAN
netbios name = SERV-DC
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = Bad User
os level = 200
passdb backend = ldapsam:ldap://127.0.0.1/
domain master = yes
domain logons = yes
ldap admin dn = cn=Manager,dc=monoplan,dc=de
ldap group suffix = ou=groups
ldap machine suffix = ou=computers
ldap user suffix = ou=users
ldap passwd sync = yes
ldap suffix = dc=monoplan,dc=de
ldap ssl = No
enable privileges = yes
add machine script = /usr/sbin/useradd -g 100 -s /bin/false -M %u
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[netlogon]
comment = Netlogon Share (Read-Only)
path = /var/lib/samba/netlogon
read only = Yes
write list = root
browseable = YES
[profiles]
comment = Benutzerprofile
path = /var/lib/samba/profiles
read only = No
create mask = 0600
directory mask = 0700
browseable = No
store dos attributes = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @ntadmin root
force group = ntadmin
create mask = 0664
directory mask = 0775
[software]
comment = firmen eigene software
path = /data/software
read only = no
browseable = yes
inherit acls = yes
inherit permissions = yes
# sicherheitskarte wird nicht angezeigt
# nt acl support = no
admin users = MONOPLAN\Administrator, MONOPLAN\manfred
5.
Die Rechtes des Ordners /var/lib/samba/profiles ändern
6.
Die Rechtes des Ordners /data/software ändern. Die Änderung ist notwendig, sonnt funktionieren die gesetzte ACL's unter Windows nicht korrekt.
Ldapserver:/ # chown root:root /data/software
7.
Jetzt müssen wir noch das LDAP-Passwort dem Dienst SAMBA mitteilen. Das machen wir mit folgendem Befehl. In unserem Fall secret ist LDAP-Passwort
8.
Wir überprüfen noch, ob in der Datei /etc/openldap/slapd.conf SAMBA-Schema eingetragen ist. Wenn dieser Eintrag nicht vorhanden ist, dann bitte eintragen und den LDAP-Server neu starten.
include /etc/openldap/schema/samba3.schema
...
9.
der LDAP-Client muss auch eingerichtet sein. Beschreibung findet man unter LDAP-Authentifizierung
10.
Samba neu starten. Danach die SID-Nummer erfragen. MONOPLAN ist unsere Domäen
Ldapserver:/ # /etc/init.d/nmb restart
Ldapserver:/ # net getlocalsid MONOPLAN
Die SID - Nummer kopieren
11.
Starten Sie in Browser den LDAP Account Manager http://IP-Adresse-des-Servers/lam, melden Sie sich an. Danach erstellen Sie:
- eine Gruppe z.B. samba-user von Gruppentyp: Domänengruppe
- Domäne, in unserem Fall MONOPLAN und weisen Sie bitte die SID-Nummer zu.
- Die Benutzer
Sollte ein Benutzer die Domänen-Administratorrechte haben, dann bitte den Benutzer zu der Windows-Gruppe: Domänenadministratoren zuweisen und zu der Spezieller Benutzer auch die Gruppe Domänenadministratoren. Die Gruppe hat die RID-Nummer 512, bedeutet der Benutzer kann die Domäne beitreten und hat auch Adminrechte auf jedem Computer der die Domäne beigetreten hat.
Beispiel: Erstellung einer Gruppe in LAM die dann als primäre Gruppe dem Benutzer zugewiesen werden kann.
12.
Erstellen Sie in LDAP Account Manager einen neuen Benutzer mit dem Benutzernamen: Administrator.
Dem Benutzer weisen Sie der Windows-Gruppe: Domänenadministratoren zu und auch der
Spezieller Benutzer: Domänenadministratoren.
Den Benutzer kann man jetzt bei der Beitretung der Domäne auf dem Windows-Client einsetzen werden.
Bildausschnitt aus dem LDAP Account Manager. Einstellungen für die Administratoren.
Bildausschnitt aus dem LDAP Account Manager. Einstellungen für die Domänenbenutzer.
13.
In LAM oder anderem Verwaltungtool unter Profilpfad schreiben Sie den folgenden Pfad:
\\serv-dc\profiles\$user
serv-dc - ist unser Servername und statt $user schreib man den loginnamen.
Zusatzinfo, wenn Sie auf dem Sambaserver Apache nicht installieren möchten.
Mit Ldapadmin Programm kann man auch bequem arbeiten, allerdings muss man am ein Samba-Objekt in die LDAP-Struktur einbinden. Auf dem Samba-Server erstellen wir eine LDIF Datei samba.ldif mit folgendem Inhalt. Selbstverständlich muss man einige Daten anpassen.
dn: sambaDomainName=MONOPLAN,dc=monoplan,dc=de
objectclass: sambaDomain
sambaalgorithmicridbase: 1000
sambadomainname: MONOPLAN
sambaforcelogoff: -1
sambalockoutduration: 30
sambalockoutobservationwindow: 30
sambalockoutthreshold: 0
sambalogontochgpwd: 0
sambamaxpwdage: -1
sambaminpwdage: 0
sambaminpwdlength: 5
sambanextuserrid: 1000
sambapwdhistorylength: 0
sambarefusemachinepwdchange: 0
sambasid: S-1-5-21-278533937-2567160482-3822163271
danach können wir die Objekte mit dem Befehl ldapadd in den Verzeichnisdienst einfügen
Danach können wir noch zwei Gruppen, das sind Domain-Admins und Domain-User, einfügen. Und einen Benutzer: administrator mit dem Password: admin. Der Inhalt der Datei pack.ldif ist wie folgt. Die SID der Domäne muss angepasst werden.
dn: cn=Domain-Admins,ou=groups,dc=monoplan,dc=de
cn: Domain-Admins
displayname: Domain-Admins
gidnumber: 10512
memberuid: administrator
objectclass: posixGroup
objectclass: top
objectclass: sambaGroupMapping
sambagrouptype: 2
sambasid: S-1-5-21-278533937-2567160482-3822163271-512
# Eintrag 2: cn=Domain-User,ou=groups,dc=monoplan,dc=de
dn: cn=Domain-User,ou=groups,dc=monoplan,dc=de
cn: Domain-User
displayname: Domain-User
gidnumber: 10513
objectclass: posixGroup
objectclass: top
objectclass: sambaGroupMapping
sambagrouptype: 2
sambasid: S-1-5-21-278533937-2567160482-3822163271-513
# Eintrag 3: uid=administrator,ou=users,dc=monoplan,dc=de
dn: uid=administrator,ou=users,dc=monoplan,dc=de
cn: administrator
displayname: administrator
gidnumber: 10513
homedirectory: /home/administrator
objectclass: posixAccount
objectclass: top
objectclass: inetOrgPerson
objectclass: shadowAccount
objectclass: sambaSamAccount
sambaacctflags: [U]
sambadomainname: MONOPLAN
sambakickofftime: 2147483647
sambalmpassword: F0D412BD764FFE81AAD3B435B51404EE
sambantpassword: 209C6174DA490CAEB422F3FA5A7AE634
sambaprimarygroupsid: S-1-5-21-278533937-2567160482-3822163271-513
sambaprofilepath: \\serv-dc\profiles\administrator
sambapwdlastset: 1271272803
sambapwdmustchange: 0
sambasid: S-1-5-21-278533937-2567160482-3822163271-500
shadowexpire: 99999
shadowflag: 0
shadowinactive: 99999
shadowlastchange: 12011
shadowmax: 99999
shadowmin: 0
shadowwarning: 0
sn: administrator
uid: administrator
uidnumber: 10100
userpassword: {SHA}0DPiKuNIrrVmD8IUCuw1hQxNqZc=
danach können wir die Objekte mit dem Befehl ldapadd in den Verzeichnisdienst einfügen