Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
server_und_serverdienste:openldap_mit_samba_als_pdc_neues_backend [2017/12/11 22:53] – [LDAP mit SAMBA als PDC] boospyserver_und_serverdienste:openldap_mit_samba_als_pdc_neues_backend [2021/03/04 15:53] (aktuell) lois
Zeile 1: Zeile 1:
 ====== OpenLDAP mit Samba als PDC (neues backend) ====== ====== OpenLDAP mit Samba als PDC (neues backend) ======
 {{:samba-logo.png?nolink|}} {{:open-ldap-logo-180x180.png?nolink|}} {{:samba-logo.png?nolink|}} {{:open-ldap-logo-180x180.png?nolink|}}
 +
 +Hauseigenes Apt-Repo: [[https://apt.iteas.at]]    [[https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KE592Y5993ZKW|{{:wiki:btn_donatecc_lg.gif|}}]]
 +\\
 +\\
 ===== Grundinformation ===== ===== Grundinformation =====
  
-__Verwendetes System: Debian 6.0__+__Verwendetes System: Debian 6.0, Debian 9.3 und Ubuntu 16.04.3__ 
 + 
 +**Wichtige INFO:** 12.2017 \\ 
 +Ich hab Freigabeeinstellungen auf Debian 9.3 (Samba Version 4.5.12) und Ubuntu 16.04.3 (Samba Version 4.3.11) getestet. Anscheindend ist die Sambaversion von Ubuntu Schrott. Kopiert schreibend gerade mal mit 35 bis 65MB/s. Bei Debian, gleich Config kopierte ich schreibend mit 115MB/s. Das ganze gilt auf der virtualsierten Ebene von Proxmox. Ubuntu ist als LXC (lokales ZFS) oder Ubuntu mit KVM gleich langsam. Ubuntu auf eine PHY Maschine funktioniert mit den gleichen spezifikationen super schnell. Debian hingeben ist überall supernschell, also volle Gigabit. Warum auch immer... 
 + 
 +Daran sollte man denken. Ich habe Samba und LDAP auf einem Ubuntuserver laufen. Die Freigaben sind aber auf einem Debian. Ist mit LXC ja kein Problem. 
  
 Seit Version 2.4 arbeitet [[http://www.openldap.org|OpenLDAP]] mit einem Onlinebackend. Das erlaubt es die Konfiguration im Betrieb zu bearbeiten ohne den Dienst neu starten zu müssen. Alle Konfigurationen liegen seit dieser Änderung unter ''/etc/ldap/slapd.d/'', und nicht mehr in der Datei ''slapd.conf''. Man sollte sich von der sichtbaren Klartextstruktur dieser Datenbank-Datei(en) nicht in die Irre leiten lassen. Jede Datei unterhalb von ''slapd.d/'' enthält zusätzlich alle erforderlichen operationellen Attribute, die für die online- Funktionalität der Online-Konfiguration unabdingbar sind, allen voran natürlich der ''modifyTimestamp''. Er sorgt dafür, dass jede online durchgeführte Änderung sofort aktiv wird. Von einer direkten Manipulation unterhalb von ''slapd.d/'' per Editor ist in jedem Fall abzuraten. Da die Timestamps auf diesem Weg nicht aktualisiert werden.  Seit Version 2.4 arbeitet [[http://www.openldap.org|OpenLDAP]] mit einem Onlinebackend. Das erlaubt es die Konfiguration im Betrieb zu bearbeiten ohne den Dienst neu starten zu müssen. Alle Konfigurationen liegen seit dieser Änderung unter ''/etc/ldap/slapd.d/'', und nicht mehr in der Datei ''slapd.conf''. Man sollte sich von der sichtbaren Klartextstruktur dieser Datenbank-Datei(en) nicht in die Irre leiten lassen. Jede Datei unterhalb von ''slapd.d/'' enthält zusätzlich alle erforderlichen operationellen Attribute, die für die online- Funktionalität der Online-Konfiguration unabdingbar sind, allen voran natürlich der ''modifyTimestamp''. Er sorgt dafür, dass jede online durchgeführte Änderung sofort aktiv wird. Von einer direkten Manipulation unterhalb von ''slapd.d/'' per Editor ist in jedem Fall abzuraten. Da die Timestamps auf diesem Weg nicht aktualisiert werden. 
Zeile 514: Zeile 523:
  
 ===== LDAP mit SAMBA als PDC ===== ===== LDAP mit SAMBA als PDC =====
 +
 +Um die Config von Samba neu einzulesen wird davon abegraten Samba neu zu starten, da das Protokoll sehr lange braucht um wieder vollwertig verfügbar zu sein, immerhin wird das ganze Netzwerk gescannt und der Cache befüllt. Die Config kann man mit folgendem Befehl neu einlesen: ''smbcontrol all reload-config''
 +
 Als ersters übergeben wir Samba das LDAPpasswort. Dies wird verschlüsselt in einer Datenbankfile gespeichert. Als ersters übergeben wir Samba das LDAPpasswort. Dies wird verschlüsselt in einer Datenbankfile gespeichert.
 <code> <code>
Zeile 538: Zeile 550:
  
 Beispiel: Beispiel:
-<file code smbldap_bind.conf>+<file bash smbldap_bind.conf>
 ############################ ############################
 # Credential Configuration # # Credential Configuration #
Zeile 666: Zeile 678:
 # Ex: groupsdn="ou=Groups,dc=IDEALX,dc=ORG" # Ex: groupsdn="ou=Groups,dc=IDEALX,dc=ORG"
 # Warning: if 'suffix' is not set here, you must set the full dn for groupsdn # Warning: if 'suffix' is not set here, you must set the full dn for groupsdn
-groupsdn="ou=windowsusergroups,ou=group,ou=wiki-deepdoc,ou=wifi,ou=opensource-it,ou=messaging,ou=webhosting,${suffix}"+groupsdn="ou=windowsusergroups,ou=group,${suffix}"
  
 # Where are stored Idmap entries (used if samba is a domain member server) # Where are stored Idmap entries (used if samba is a domain member server)
Zeile 779: Zeile 791:
  
 </file> </file>
 +<file bash smb.conf>
 +[global]
  
 +   workgroup = DARKWOLF
 +   server string = LDAP-Samba PDC
 +   netbios name = ldap-dc
 +   server max protocol = NT1
 +   client ipc min protocol = SMB3_10
 +   security = user
 +   encrypt passwords = yes
 +   load printers = no
 +
 +   log level = 1
 +   log file = /var/log/samba/log.%m
 +   max log size = 50
 +
 +   passdb backend = ldapsam:ldap://ldap-dc.darkwolf.lan
 +
 +   ldap admin dn = cn=admin,dc=darkwolf,dc=lan
 +   ldap passwd sync = yes
 +   ldap machine suffix = ou=machines,dc=darkwolf,dc=lan
 +   ldap User suffix = ou=users,ou=people,dc=darkwolf,dc=lan
 +   ldap Group Suffix = ou=windowsusergroups,ou=group,dc=darkwolf,dc=lan
 +   ldap suffix = dc=darkwolf,dc=lan
 +   ldap ssl = off
 +
 +   tls enabled  = yes
 +   idmap config * : range = 10000-40000
 +
 +   add user script = /usr/sbin/smbldap-useradd -m "%u"
 +   add machine script = /usr/sbin/smbldap-useradd -w "%u"
 +
 +   add group script = /usr/sbin/smbldap-groupadd -p "%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"
 +   delete group script = /usr/sbin/smbldap-groupdel "%g"
 +   delete user script = /usr/sbin/smbldap-userdel "%u" -r "%u"
 +
 +
 +   local master = yes
 +   os level = 200
 +   domain master = yes
 +   preferred master = yes
 +   domain logons = yes
 +   wins support = yes
 +   dns proxy = no
 +
 +   logon path = \\%N\profiles\%U
 +
 +#============================ Share Definitions ==============================
 +[netlogon]
 +   comment = Network Logon Service
 +   path = /var/lib/samba/netlogon
 +   guest ok = yes
 +   browseable = no
 +   write list = root
 +
 +
 +[profiles]
 +   path = /var/lib/samba/profiles
 +   comment = Users profiles
 +   browseable = No
 +   read only = No
 +   force create mode = 0600
 +   force directory mode = 0700
 +   csc policy = disable
 +   store dos attributes = yes
 +   vfs objects = acl_xattr
 +
 +
 +[homes]
 +   path = /home/%U
 +   browseable = no
 +   valid users = %S
 +   read only = no
 +   create mask = 0664
 +   directory mask = 0775
 +
 +[public]
 +   comment = Public Stuff
 +   path = /home/public
 +   writable = yes
 +   public = yes
 +   browseable = yes
 +   write list = @ldapbenutzer
 +
 +
 +[printers]
 +   comment = All Printers
 +   browseable = no
 +   path = /var/spool/samba
 +   printable = yes
 +   guest ok = no
 +   read only = yes
 +   create mask = 0700
 +
 +[print$]
 +   comment = Printer Drivers
 +   path = /var/lib/samba/printers
 +   browseable = yes
 +   read only = yes
 +   guest ok = no
 +</file>
 <code> <code>
 smbldap-populate smbldap-populate
Zeile 791: Zeile 906:
 </code> </code>
  
 +==== Sambadomäne mit Linuxclient beitreten ====
 +Vorausetztung ist natürlich das der Client bereits am LDAP-Server hängt. Für die Anbindung an die Sambadomäne muss man Samba installieren und konfigurieren. Hier eine Minimalconfig mit 2 Freigaben.
 +<file bash smb.conf>
 +[global]
  
 +   workgroup = DARKWOLF
 +   server string = Datenserver
 +   dns proxy = no
 +   security = domain
 +   log file = /var/log/samba/log.%m
 +   max log size = 1000
 +   panic action = /usr/share/samba/panic-action %d
 +   server role = standalone server
 +   passdb backend = tdbsam
 +   obey pam restrictions = yes
 +   unix password sync = yes
 +   passwd program = /usr/bin/passwd %u
 +   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
 +   pam password change = yes
 +   map to guest = bad user
 +   usershare allow guests = yes
  
 +#======================= Share Definitions =======================
 +
 +[homes]
 +   path = /home/%U
 +   browseable = no
 +   valid users = %S
 +   read only = no
 +   create mask = 0664
 +   directory mask = 0775
 +
 +[public]
 +   comment = Public Stuff
 +   path = /home/public
 +   writable = yes
 +   public = yes
 +   browseable = yes
 +   write list = @ldapbenutzer
 +</file>
 +Lokalen Rootgenutzer zu Samba hinzufügen. Kann man, muss man aber unter normalen Umständen nicht.
 +<code>
 +smbpasswd -a root
 +</code>
 +Beitreten einer Domäne:
 +<code>
 +net rpc join
 +</code>
 +Danach kann das ganze noch überprüfen:
 +<code>
 +net rpc info
 +net getdomainsid
 +smbclient -L /localhost
 +</code>