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
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:~#
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: