Debian als Domain-Member in Windows Domäne (Active Directory). Schnellanleitung ohne tiefere Beschreibung, Beispiel Debian Wheezy. 1. Netzwerkkonfiguration 2. DNS Konfiguration 3. Installation Pakete 4. NTP-Dienst 5. Kerberos: 6. Samba (Winbind) 7. NSSWITCH 8. JOIN 9. Tips - "domain.net","DOMAIN.NET" ist mit eigenem Domainnamen zu ersetzen, BEACHTE die Gross/Kleinschreibung in den Konfigurationsdateien !! - Linux Consolenbefehle stehen in Klammern [BEFEHL] *********************************************************************************************************************** 1. Netzwerkkonfiguration *********************************************************************************************************************** /etc/network/interfaces: # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # Network Restart for SSH Session: # /etc/init.d/networking restart && ifup eth0 # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 # DHCP #iface eth0 inet dhcp # STATIC auto eth0 iface eth0 inet static address 192.168.0.xx netmask 255.255.255.0 gateway 192.168.0.1 *********************************************************************************************************************** 2. DNS Konfiguration (Angabe der AD-DNS Server) *********************************************************************************************************************** /etc/resolv.conf: domain domain.net search domain.net nameserver 192.168.0.3 nameserver 192.168.0.4 *********************************************************************************************************************** 3. Installation Pakete *********************************************************************************************************************** apt-get install krb5-user libpam-krb5 winbind samba ntp *********************************************************************************************************************** 4. NTP-Dienst (Angabe der AD-Zeitserver) *********************************************************************************************************************** Ersetze die Debian Zeitserver durch die Active Directory Zeitserver in: /etc/ntp.conf NTP Daemon neustarten: [service ntp restart] Alles geklappt ?: [ntpq -p] *********************************************************************************************************************** 5a. Kerberos: *********************************************************************************************************************** Die Authentifizierung in der ActiveDirectory-Domain funktioniert mit Kerberos Tickets. Das wird definiert in der Datei: /etc/krb5.conf: [libdefaults] default_realm = DOMAIN.NET ticket_lifetime = 1d renew_lifetime = 1d forwardable = true [realms] DOMAIN.NET = { kdc = srv1.domain.net kdc = srv2.domain.net admin_server = srv1.domain.net } [domain_realm] .domain.net = DOMAIN.NET *********************************************************************************************************************** 5b. Kerberos Test: *********************************************************************************************************************** [kinit Administrator] Password for Administrator@DOMAIN.NET: --> Keine Ausgabe von der Console ist positiv :-) Ob wir nun erfolgreich ein Ticket erhalten haben prüfen wir mit: [klist] Ticket cache: FILE:/tmp/krb5cc_0 Default principal: Administrator@DOMAIN.NET Valid starting Expires Service principal 2015-11-28 13:09:42 2015-11-28 23:09:42 krbtgt/DOMAIN.NET@DOMAIN.NET renew until 2015-11-28 23:09:42 *********************************************************************************************************************** 6. Samba (Winbind) *********************************************************************************************************************** /etc/samba/smb.conf: #Samba Konfiguration # #Siehe: http://lug.krems.cc/docu/samba/index.html # #Geschwindigkeitsprobleme Samba 3.6.6 mit Windows-7 Clients #TIP: Entfernen der Option , einfügen von :-). [global] # Netzwerkeinstellungen workgroup = DOMAIN netbios name = ms1 server string = Media Storage security = ADS encrypt passwords = yes client use spnego = yes client ntlmv2 auth = yes max protocol = SMB2 # Bindung auf eine Schnittstelle ;interfaces = eth0 ;bind interfaces only = yes # Logfile Einstellungen syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 ;log level = 3 #debug # IP-Zugriffsbeschraenkungen ;hosts allow = 127.0.0.1 192.168.0.0/24 ;hosts deny = 0.0.0.0/0 #Active Directory realm = DOMAIN.NET winbind refresh tickets = yes winbind enum users = yes winbind enum groups = yes winbind cache time = 10 winbind use default domain = yes idmap config *:backend = tdb idmap config *:range = 11000-20000 idmap config DOMAIN:backend = rid idmap config DOMAIN:range=10000000-19000000 # Generelle Einstellungen domain master = no local master = no preferred master = no dns proxy = yes ;wins support = no ;wins server = 192.168.0.3 ;name resolve order = wins lmhosts hosts bcast ;smb ports = 445 ;map to guest = bad user # Druckeinstellungen (deaktiviert) printing = bsd printcap name = /dev/null #======================= Share Definitions ======================= [public-readable] path = /data/public comment = Everyone readable browseable = yes writeable = no guest ok = yes [domain-users] ;Berechtigung nur für Gruppe Domänen Benutzer path = /data/domain-users comment = Alle Domain User browseable = yes writeable = yes valid users = @"DOMAIN\domänen-benutzer" [stream-users] ;Berechtigung nur für Gruppe:stream, Benutzer:administrator, Computerkonto: media path = /data/stream comment = Stream Users, Admin, Media browseable = yes writeable = yes valid users = @stream, administrator, media$ [ISO] ;Schreibrechte für Domänen Admins, Leserechte für Domain Users path = /data/ISO comment = ISO Dateien browseable = yes writeable = yes valid users = @"domain admins" @"domain users" read list = @"domain users" write list = @"domain admins" force group = "@domain admins" force create mode = 0666 force directory mode = 2777 force directory security mode = 0777 *********************************************************************************************************************** 7. NSSWITCH *********************************************************************************************************************** Dem System muss auch mitgeteilt werden welche User am System vorhanden sind. Zusätzlich zu den gewohnten Files (/etc/passwd, /etc/groups) sind die User auch über winbind zu finden. nsswitch wird um winbind ergänzt. /etc/nsswitch.conf: # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat winbind group: compat winbind shadow: compat hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis *********************************************************************************************************************** 8. JOIN (Der Domain beitreiten) *********************************************************************************************************************** Zuerst Samba/Winbind stoppen: [service samba stop && service winbind stop] Domain beitreten mit Befehl: [net ads join -U Administrator] Ausgabe sieht dann in etwa so aus: Enter Administrator's password: Using short domain name -- DOMAIN Joined 'MS1' to realm 'domain.net' Samba/Winbind wieder starten: [service samba start && service winbind start] Testen ob Zugriff auf das Active Directory besteht, dazu kann der Befehl wbinfo verwendet werden. [wbinfo -u] [wbinfo -g] Dann noch testen ob die User und Gruppen hier auftauchen: getent group Falls nein sind die Parameter [idmap config] in /etc/samba/smb.conf die richtige Anlaufstelle *********************************************************************************************************************** 9. Tips *********************************************************************************************************************** Mit dem Befehl [testparm] kann die Richtigkeit von smb.conf überprüft werden. Mit dem Befehl [wbinfo -t] kann die Funktionstüchtigkeit des Computerkontos im Active Directory gestestet werden. Folgende Zeile einfügen in "/etc/security/limits.conf" (behebt die Fehlermeldung: rlimit_max (1024) below minimum Windows limit (16384)): * - nofile 16384