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
Bitte berücksichtigen, dass diese Anleitung NICHT auf dem Domaincontroller zur Anwendung kommen darf, sondern ausschließlich auf den sogenannten "Member Server", also die Server welche Mitglied in der Domain werden sollen.
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:~#
DNS-Konfiguration ggf. anpassen
Ist die o.g. Prüfung der Namensauflösung negativ verlaufen und werden insbesondere die internen Namen der Domainstruktur nicht aufgelöst, so muss die DNS-Konfiguration angepasst werden.
Soll-Konfiguration: Der DNS-Server ist gleich dem Domaincontroller.
Die beste Möglichkeit ist die Einstellung über das Tool /usr/bin/network-admin (als User "root" auf einer grafischen Oberfläche)
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
ntp-Dienst prüfen
Für den ordnungsgemäßen Betrieb innerhalb einer Domain ist es wichtig, dass alle Computer an der Domain die gleiche Zeit verwenden.
Dies erreicht man am besten in dem man einen netzbasierten Zeitserver verwendet (ntp = Network Time Protocol")
Häufig ist dies bei einer Ubuntu-Installation bereits gegeben.
Prüfung:
#Ist ntpdate installiert? root@ubuntu:~# type ntpdate ntpdate is /usr/sbin/ntpdate #Versuch eines Zeitupdates root@ubuntu:~# ntpdate -u de.pool.ntp.org 16 Jan 17:42:07 ntpdate[1784]: adjust time server 89.163.209.233 offset 0.299721 sec root@lemaker:~# #Ist die regelmäßige Zeitsynchronisation aktiv ? root@ubuntu:~# service ntp status * NTP server is running root@ubuntu:~#
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....
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
Dann den Service samba starten, aber winbind noch nicht.
Ggf. kann man die samba-Konfiguration mit dem Befehl "testparm" testen.
Domain beitreten
root@ubu:~# net ads join -U Administrator Enter Administrator's password: Using short domain name -- MB Joined 'UBU' to dns domain 'lemaker.fritz.box' root@ubu:~#
Wenn beim Beitritt zur Domain der folgende Fehler auftritt ...
No DNS domain configured for <COMPUTERNAME>. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER
... dann bitte nochmal den Abschnitt "Lokale host-Datei anpassen" lesen und hostdatei korrekt anpassen.
Danach winbind-Service starten
root@ubu:~# service winbind start winbind start/running, process 1485 root@ubu:~#
Erste Tests mit winbind
root@ubu:~# wbinfo -u administrator krbtgt guest root@ubu:~#
root@ubu:~# wbinfo -g allowed rodc password replication group enterprise read-only domain controllers denied rodc password replication group read-only domain controllers group policy creator owners ras and ias servers domain controllers enterprise admins domain computers cert publishers dnsupdateproxy domain admins domain guests schema admins domain users dnsadmins root@ubu:~#
Nameservice switch konfigurieren
#Folgende Einträge anpassen passwd: compat winbind group: compat winbind shadow: compat
Danach winbind-Service neu starten
Userliste anzeigen
Es sollten lokale UNIX_Benutzer und Domainuser angezeigt werden
root@ubu:~# getent passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin proxy:x:13:13:proxy:/bin:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin backup:x:34:34:backup:/var/backups:/usr/sbin/nologin list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin libuuid:x:100:101::/var/lib/libuuid: syslog:x:101:104::/home/syslog:/bin/false messagebus:x:102:106::/var/run/dbus:/bin/false landscape:x:103:109::/var/lib/landscape:/bin/false sshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin klaus:x:1000:1000:klaus,,,:/home/klaus:/bin/bash #Ab hier Domainbenutzer administrator:*:10000:10000:Administrator:/home/administrator:/bin/bash krbtgt:*:10001:10000:krbtgt:/home/krbtgt:/bin/bash guest:*:10002:10001:Guest:/home/guest:/bin/bash root@ubu:~#
Gruppenliste anzeigen
root@ubu:~# getent group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog,klaus tty:x:5: disk:x:6: lp:x:7: mail:x:8: news:x:9: uucp:x:10: man:x:12: proxy:x:13: kmem:x:15: dialout:x:20: fax:x:21: voice:x:22: cdrom:x:24:klaus floppy:x:25: tape:x:26: sudo:x:27:klaus audio:x:29: dip:x:30:klaus www-data:x:33: backup:x:34: operator:x:37: list:x:38: irc:x:39: src:x:40: gnats:x:41: shadow:x:42: utmp:x:43: video:x:44: sasl:x:45: plugdev:x:46:klaus staff:x:50: games:x:60: users:x:100: nogroup:x:65534: libuuid:x:101: netdev:x:102: crontab:x:103: syslog:x:104: fuse:x:105: messagebus:x:106: mlocate:x:107: ssh:x:108: landscape:x:109: klaus:x:1000: lpadmin:x:110:klaus sambashare:x:111:klaus winbindd_priv:x:112: #Ab hier Domaingruppen allowed rodc password replication group:x:10002: enterprise read-only domain controllers:x:10003: denied rodc password replication group:x:10004:krbtgt read-only domain controllers:x:10005: group policy creator owners:x:10006:administrator ras and ias servers:x:10007: domain controllers:x:10008: enterprise admins:x:10009:administrator domain computers:x:10010: cert publishers:x:10011: dnsupdateproxy:x:10012: domain admins:x:10013:administrator domain guests:x:10001: schema admins:x:10014:administrator domain users:x:10000: dnsadmins:x:10015: