Allgemeines
Anleitung von Ubuntu dazu:
https://wiki.ubuntuusers.de/Samba_Winbind/
Die Anleitung erscheint aber noch Lücken zu haben, jedenfalls hat es bei mir nicht im ersten Versuch funktioniert
Es wird vorausgesetzt, dass der Domaincontroller ebenfalls ein Samba-Server ist, z.B. nach folgenden Anleitung erstellt: Konfiguration samba als active directory domain controller
Verwendete Konfiguration
Variable | Wert | Beschreibung |
---|---|---|
meinserver | lemaker.fritz.box | Server der Domaincontroller ist |
IPADRESSE | 192.168.101.18 | IP-Adresse des Domaincontrollers |
example.com | lemaker.fritz.box | Domain |
EXAMPLE | MB | alternative Workgroup |
UBUNTU | ubu | Name des Linuxcomputers der in die Domain aufgenommen werden soll und auf dem die hier beschriebene Konfiguration stattfindet |
Vorbereitung der Installation
Test der Namensauflösung
Im Normalfall erfüllt der Domaincontroller ebenfalls die Funktion eines DNS-Servers der einen Teil der (domain-internen) Namen auflöst und alle anderen Anfragen an einen weiteren DNS-Server weiterleitet (dns forwarding)
Deshalb ist es wichtig, dass der Domaincontroller in der ersten Konfigurationsebene des nameserver Eintrages steht.
root@ubu:~# cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 192.168.101.18 nameserver 192.168.101.1 search fritz.box root@ubu:~#
Die Namenauflösung wird getestet in dem man auf den Domaincontroller, einen internen Namen und auf einen beliebigen anderen Server außerhalb des Subnetzes einen ping absetzt.
root@ubu:~# ping -c 1 lemaker.fritz.box PING lemaker.fritz.box (192.168.101.18) 56(84) bytes of data. 64 bytes from lemaker.fritz.box (192.168.101.18): icmp_seq=1 ttl=64 time=13.8 ms --- lemaker.fritz.box ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 13.853/13.853/13.853/0.000 ms
root@ubu:~# host -t SRV _kerberos._udp.lemaker.fritz.box _kerberos._udp.lemaker.fritz.box has SRV record 0 100 88 lemaker.lemaker.fritz.box. root@ubu:~#
root@ubu:~# ping -c 1 t-online.de PING t-online.de (217.6.164.162) 56(84) bytes of data. 64 bytes from www.t-online.de (217.6.164.162): icmp_seq=1 ttl=249 time=22.9 ms --- t-online.de ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 22.902/22.902/22.902/0.000 ms root@ubu:~#
Lokale host-Datei anpassen
Die Sache ist offensichtlich sehr wichtig und birgt große Fehlerquellen.
Es ist daher sehr wichtig hier die korrekten Namen für die beteiligten Computer zu verwenden.
Siehe Abschnitt "Verwendete Konfiguration"
127.0.0.1 ubu.lemaker.fritz.box localhost ubu #127.0.1.1 ubu 192.168.101.18 lemaker.fritz.box lemaker # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Installation / Konfiguration
Pakete installieren
Die beiden Pakete krb5-user und libpam-krb5 sind nur bei der Installationsvariante mit ADS erforderlich.
apt-get install krb5-user libpam-krb5 winbind samba smbclient libnss-winbind libpam-winbind
Während der Installation wird die Kerberos-Konfiguration abgefragt.
Hierbei muss als REALM der REALM des Domaincontrollers angegeben werden (in GROSSBUCHSTABEN) und in den beiden folgenden Abfragen ebenfalls der Name des Domaincontrollers
Danach muss noch die Kerberos-Konfigurationsdatei kontrolliert / angepasst werden.
Wie bereits erwähnt: Nur wenn man ADS verwenden möchte....
[logging] default = FILE:/var/log/krb5.log [libdefaults] default_realm = LEMAKER.FRITZ.BOX # The following krb5.conf variables are only for MIT Kerberos. krb4_config = /etc/krb.conf krb4_realms = /etc/krb.realms kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true ticket_lifetime = 24000 clock_skew = 300 # The following libdefaults parameters are only for Heimdal Kerberos. v4_instance_resolve = false v4_name_convert = { host = { rcmd = host ftp = ftp } plain = { something = something-else } } fcc-mit-ticketflags = true [realms] LEMAKER.FRITZ.BOX = { kdc = lemaker.fritz.box:88 admin_server = lemaker.fritz.box:464 default_domain = LEMAKER.FRITZ.BOX } [domain_realm] .lemaker.fritz.box = LEMAKER.FRITZ.BOX lemaker.fritz.box = LEMAKER.FRITZ.BOX [login] krb4_convert = true krb4_get_tickets = false
Kerberos-Installation testen
(Im Normalfall muss Samba auf dem lokalen System nicht gestartet sein und winbind auch noch nicht)
Selbstverständlich muss aber Samba auf dem Domaincontroller gestartet sein ...
root@ubu:~# kinit Administrator@LEMAKER.FRITZ.BOX Password for Administrator@LEMAKER.FRITZ.BOX: Warning: Your password will expire in 36 days on So 06 Mär 2016 12:37:47 CET root@ubu:~#
root@ubu:~# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: Administrator@LEMAKER.FRITZ.BOX Valid starting Expires Service principal 29.01.2016 22:43:29 30.01.2016 05:23:23 krbtgt/LEMAKER.FRITZ.BOX@LEMAKER.FRITZ.BOX root@ubu:~#
Samba konfigurieren
[global] security = ads realm = LEMAKER.FRITZ.BOX #Der folgende Eintrag wird nicht benötigt #password server = IPADRESSE #IP des Domain Controllers workgroup = MB idmap uid = 10000-20000 idmap gid = 10000-20000 winbind enum users = yes winbind enum groups = yes winbind cache time = 10 winbind use default domain = yes template homedir = /home/%U template shell = /bin/bash client use spnego = yes client ntlmv2 auth = yes encrypt passwords = yes restrict anonymous = 2 domain master = no local master = no preferred master = no os level = 0 server string = %h server (Samba, Ubuntu) dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d server role = member 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 [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