Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[entwicklung:techsheets:samba4_testinstall]] 

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
entwicklung:techsheets:samba4_testinstall [2017/11/18 17:30]
jeffbeck
entwicklung:techsheets:samba4_testinstall [2017/11/18 17:40] (aktuell)
jeffbeck
Zeile 1: Zeile 1:
 +{{tag> }}
  
 +====== Installation Samba 4 DC ======
 +
 +Anleitungen siehe:
 +  * [[https://​wiki.samba.org/​index.php/​Setup_a_Samba_Active_Directory_Domain_Controller| Samba org]]
 +  * [[https://​wiki.ubuntuusers.de/​Howto/​Samba4-Server_als_Active-Directory_Domain-Controller|Ubuntuusers]]
 +
 +===== Ubuntu installieren =====
 +
 +
 +  * 16.04 Xenial vom 20.4.16 ​ (17.10 vom 18.11.17)
 +  * Deutsch, in Deutsch fortsetzen
 +  * Land: Deutschland
 +  * Tastatur: German, German
 +  * ... Hardwareerkennung ...
 +  * Rechnername:​ xenialserver (artfulserver)
 +  * Ubuntu Server installieren
 +  * User anlegen: ''​loginuser''​ (darf nicht gleich sein wie zukünftige Lehrer,​Schüler,​ ...)
 +  * Passwort: Muster!
 +  * Verschlüsselung der persönlichen Ordners: Nein
 +  * Zeitzone: Berlin
 +  * Festplatte: Geführt- gesamte Festplatte mit LVM (wird ext4), nur ca 50% nutzen um Platz für weitere Schulen lassen
 +  * ... Installieren Betriebsystem ...
 +  * Keine automatischen Aktualisierungen
 +  * Auswahlliste von Server-Software:​
 +    * openssh server
 +    * standard tools (war schon angehakt)
 +  * ... Installeren von Zusatzpaketen ...
 +  * GRUB in MBR installieren:​ Ja
 +  * reboot
 +  * (Email: Nur lokal)
 +  * reboot
 +  * (für Linbo: In ''/​etc/​ssh/​ssh_config''​ //​PubkeyAcceptedKeyTypes=+ssh-dss//​ ergänzen.)
 +  * Optionale Pakete installieren:​
 +    * apt-get install emacs
 +    * ...
 +  * root-Passwort setzen: sudo passwd 1x Passwort von ''​loginuser''​ -> 2x neues Passwort von ''​root''​
 +  * ''/​etc/​network/​interfaces'':​
 +
 +    auto enp0s3
 +    iface enp0s3 inet static
 +        address 10.16.1.112
 +        netmask 255.240.0.0
 +        network 10.16.0.0
 +        broadcast 10.31.255.255
 +        gateway 10.16.1.254
 +        dns-nameservers 10.16.1.1
 +        dns-search linuxmuster.local
 +
 +
 +===== Samba installieren =====
 +
 +  * ''​apt-get purge dnsmasq-base''​ um DNS Port freizugeben.?​
 +  * ''​apt-get purge lxc''​ (wird mit ''​dnsmasq-base''​ mitgepurged)
 +  * ''​apt-get install ntpdate''​ (braucht man das)
 +  * ''​apt-get install ntp''​ (macht port 123 auf)
 +  * ''​netstat -tulpn'' ​ (port 123 sichtbar)
 +  * Testen
 +     * ''​ntpdate -q 127.0.0.1''​
 +     * ''​ntpdate -u de.pool.ntp.org''​
 +  * ''/​etc/​fstab''​ anpassen mit Optionen für samba 
 +    * incl. journaling Quota:
 +    * barrier=1: tdb transactions are safe against unexpected power loss
 +
 +    user_xattr,​acl,​usrquota,​usrjquota=aquota.user,​grpquota,​grpjquota=aquota.group,​jqfmt=vfsv0,​errors=remount-ro,​barrier=1
 +
 +  * samba installieren:​ ''​apt-get install samba smbclient ldb-tools winbind libnss-winbind''​
 +  * samba -V :  Version 4.3.9-Ubuntu
 +  * ''​service smbd stop''​
 +  * ''​service nmbd stop''​
 +  * ''​service samba status''​ (soll dead, inactive sein)
 +  * ''​mv /​etc/​samba/​smb.conf /​etc/​samba/​smb.conf.vorher''​
 +
 +==== Samba DNS ====
 +
 +  * Samba braucht für DNS den port 53, der unbelegt sein muss.
 +  * Testen mit  ''​netstat -tlpn''​
 +
 +==== Samba Server provisionieren ====
 +
 +
 +  samba-tool domain provision --use-rfc2307 --interactive
 +
 +  * (virtualbox:​ Snapshot erstellen)
 +  * ''​--use-rfc2307''​ ist für ''​sssd''​ erfoderlich (S. 172, Galileo)
 +  * Realm: ''​linuxmuster.local''​
 +  * Domain: ''​linuxmuster''​
 +  * Server Role: ''​dc''​
 +  * DNS backend: <​Enter>​ (SAMBA_INTERNAL)
 +  * DNS forwarder IP address: ''​10.16.1.254''​ (IPFire)
 +  * administrator:​ ''​Muster!''​ (3 aus 4 Komponenten (Kleinschrift,​ Großschrift,​ Ziffern, Sonderzeichen))
 +
 +Probleme?:
 +
 +  * Falls man neu anfangen will: ''​rm /​etc/​samba/​smb.conf''​
 +  * Samba interaktiv starten um Fehler zu sehen: ''​samba -i''​
 +
 +===== Kerberos installieren =====
 +
 +
 +  * ''​apt-get install krb5-user''​
 +  * Voreingestellter Kerberos (Realm von vorher): ''​LINUXMUSTER.LOCAL''​
 +  * Kerberos-Server für Ihren Realm: ''​localhost''​
 +  * Administrations-Server für Ihren Kerberos-Realm:​ ''​localhost''​
 +  * ''​reboot''​
 +
 +DNS anfragen an den Sambaserver richten:
 +
 +  * Editieren von ''/​etc/​resolv.conf'':​
 +
 +  nameserver 127.0.0.1
 +  search linuxmuster.local
 +
 +
 +===== Unix Gruppen nutzen =====
 +
 +Damit die Gruppen auch mit unix sichtbar sind (erforderlich für chown, ...) müssen die Pakete ''​winbind''​ und ''​libnss-winbind''​ installiert sein (siehe oben) und ''/​etc/​nsswich.conf''​ angepasst werden:
 +
 +  passwd compat winbind
 +  group compat winbind
 +  shadow compat winbind
 +
 +Ist das auch erforderlich,​ wenn kein Fileserver aufgebaut werden soll, also homes etc., woanders liegen?
 +
 +
 +
 +
 +====== Funktionstests ======
 +
 +===== Samba Server =====
 +
 +  * Ports mit <​port>​ 53, 88, 135, 139, 389, 445, 464, 636, 3268, 3269 müssen offen sein (je 1x IPV4, 1xIPV6):
 +  <​code>​netstat -tlpn | grep <​port>​ </​code> ​
 +  * Konfigurationsdatei testen: ​
 +    <​code>​samba-tool testparm</​code>​
 +  * Alle shares auflisten:
 +    <​code>​smbclient -L localhost -U%</​code>​
 +  * Authentifizierung als Administrator testen
 +    <​code>​smbclient //​localhost/​netlogon -UAdministrator -c '​ls'</​code>​
 +
 +==== Samba DNS ====
 +
 +    * <​code>​ping LINUXMUSTER.LOCAL</​code>​ bzw. <​code>​ping linuxmuster.local</​code>​ sollte tun
 +    * <​code>​host -t SRV _ldap._tcp.linuxmuster.local</​code> ​  
 +      * (Ausgabe: _ldap._tcp.linuxmuster.local has SRV record 0 100 389 samba4.linuxmuster.local.)
 +    * <​code>​host -t SRV _kerberos._udp.linuxmuster.local</​code> ​
 +      * (Ausgabe: _kerberos._udp.linuxmuster.local has SRV record 0 100 88 samba4.linuxmuster.local.)
 +    * ''​host -t A linuxmuster.local'' ​  ​-->​ Server IP anzeigen
 +      * ''/​etc/​networking/​interfaces'':​ eigene IP des Servers bei ''​dns-nameservers'',​ Netzwerk-neustart
 +    * ''​host -t A <​server>​.linuxmuster.local''​ --> Server IP anzeigen
 +
 +=== Hosts im DNS anlegen ===
 +
 +<note important>​Siehe unten bei Benutzer anlegen
 +
 +</​note>​
 +
 +<​code>#​ Hosteintrag anlegen:
 +samba-tool dns add localhost linuxmuster.local r100-pc01 A 10.16.100.1
 +#
 +# Zone anlegen für Reverse Lookup (nur 1x):
 +samba-tool dns zonecreate localhost 100.16.10.in-addr.arpa
 +#
 +# Reverse Lookup Eintrag anlegen:
 +samba-tool dns add localhost 100.16.10.in-addr.arpa 1 PTR r100-pc01.linuxmuster.local</​code>​
 +
 +Überprüfen mit <​code>#​ nslookup r100-pc01
 +# nslookup 10.16.100.1</​code>​
 +===== Kerberos =====
 +
 +  * ''​klist''​ (bisher sollten noch keine kerberos Tickets zu sehen sein)
 +  * ''​kinit administrator'' ​ -> Passwort -> Ticket wird angelegt
 +  * ''​klist''​ zeigt nun dieses Ticket an
 +
 +====== Benutzer anlegen ======
 +
 +<note important>​Wenn sie nun Benutzer anlegen werden die Samba-Datenbanken automatisch befüllt (z.B. mit ID-Mapping-Daten). ​
 +Diese Daten bekommt man nicht mehr richtig sauber aus den Datenbanken!
 +
 +Um zum jetzigen Zustand zurückgehen zu können, installiert man die sophomorix-Pakete und macht ein Backup (siehe: [[.samba4_sophomorix_testing|Sophomorix mit Samba 4 testen]])
 +
 +Backup z.B. mit:
 +
 +# sophomorix-samba --backup-samba ohne-user
 +
 +</​note>​
 +===== Passwortregeln =====
 +
 +Passwörter haben eine Mindestkomplexität:​
 +
 +  * Mindestens 7 Zeichen
 +  * A-Za-z0-9 (Oder Sonderzeichen)
 +  * ... wie sind die Passwortregeln bei neuesten Windows Servern?
 +
 +===== Anlegen von Benutzern =====
 +
 +Mit samba-tool:
 +
 +  samba-tool user add testuser --surname='​Maier'​ --given-name '​Georg'​ --home-drive='​H:​\'​ --password='​PASSWORD'​
 +
 +
 +Testen des users ''​testuser'':​
 +
 +  smbclient -L localhost -Utestuser
 +  ​
 +Gruppe anlegen (Es sollten dazu keine lokalen Gruppen aus ''/​etc/​group''​ verwendet werden):
 +
 +  samba-tool group add maiersgroup
 +
 +  ​
 +User in Gruppe einfügen:
 +
 +  samba-tool group addmembers maiersgroup testuser
 +
 +
 +Testen der User und Gruppen (Unix):
 +
 +  id testuser
 +
 +===== Benutzer auflisten lassen =====
 +
 +  wbinfo -u
 [[entwicklung:techsheets:samba4_testinstall]] entwicklung/techsheets/samba4_testinstall.txt · Zuletzt geändert: 2017/11/18 17:40 von jeffbeck