Fileserver für die Domain aufsetzen
Aus Vosp.info
Version vom 29. Juli 2018, 20:00 Uhr von HK (Diskussion | Beiträge) (→Container fs.test2.local erstellen)
Inhaltsverzeichnis
- 1 Container fs.test2.local einrichten
- 1.1 Externe Links
- 1.2 Zeitzone festlegen
- 1.3 Software installieren
- 1.4 Vorbereitung der Installation
- 1.5 Beitritt der Maschine in die Domain vorbereiten
- 1.6 Samba konfigurieren
- 1.7 NSS konfigurieren
- 1.8 smbd und nmbd starten
- 1.9 Der Domäne beitreten
- 1.10 winbind
- 1.11 Shares
- 1.12 Roaming Profile
- 1.13 Folder Redirects
- 2 Container opsi-1.test2.local erstellen
Container fs.test2.local einrichten
Externe Links
Setting_up_Samba_as_a_Domain_Member
Zeitzone festlegen
# dpkg-reconfigure tzdata
Software installieren
# apt install vim acl less samba inetutils-ping winbind libnss-winbind
Vorbereitung der Installation
- Alle Prozesse, die mit dem folgenden Befehl gefunden werden können, müssen beendet werden.
# ps ax | egrep "samba|smbd|nmbd|winbindd"
- Der Befehlt stoppt die Prozesse.
# systemctl stop samba smbd nmbd winbind
Samba-Configfile löschen für einen sauberen Start.
# rm /etc/samba/smb.conf
Sämtliche Datenbanken, die auf .tdb und .ldb enden, löschen.
Mit dem folgenden Befehl lassen sich die Orte finden, an denen sie liegen.
# smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR" LOCKDIR: /var/run/samba STATEDIR: /var/lib/samba CACHEDIR: /var/cache/samba PRIVATE_DIR: /var/lib/samba/private
- In Debian Stretch liegen sie an den oben gezeigten Orten.
- Der folgende Befehl löscht die Datenbanken auf einen Schlag.
# rm /var/run/samba/*.tdb /var/run/samba/*.ldb /var/lib/samba/*.tdb /var/lib/samba/*.ldb /var/cache/samba/*.tdb /var/cache/samba/*.ldb /var/lib/samba/private/*.tdb /var/lib/samba/private/*.ldb
Beitritt der Maschine in die Domain vorbereiten
DNS konfigurieren
- Die Namensauflösung muss funktionieren.
- Ausführen im Container "samba4"
# samba-tool dns add localhost test2.local fs.test2.local A 10.8.190.4 -U administrator --password=XXXXXX
# samba-tool dns add localhost 190.8.10.in-addr.arpa 4 PTR fs.test2.local -U administrator --password=XXXXXXX
- Damit das Programm "net" arbeiten kann, muss es den Namen des Host auflösen können.
- Mit dem folgenden Befehl kann das geprüft werden.
# getent hosts fs
- Das gewünschte Ergebniss sollte so aussehen.
10.8.190.4 fs.test2.local fs
- Die Datei "/etc/hosts" sollte bis auf die Werte aussehen wie folgt. Der DNS-Server löst den Namen auch auf. So geht es schneller.
# vim /etc/hosts
127.0.0.1 localhost 10.8.190.4 fs.test2.local fs
Kerberos konfigurieren
- Samba unterstützt Heimdal und MIT Kerberos back ends. Um Kerberos auf dem zukünftigen Domainmitglied einzurichten, trage die folgenden Werte in /etc/krb5.conf ein:
# vim /etc/krb5.conf
[libdefaults] default_realm = TEST2.LOCAL dns_lookup_realm = false dns_lookup_kdc = true
Samba konfigurieren
- Bitte beachten: zum Verständnis unbedingt die folgenden Seiten lesen!
- Setting up Samba as a Domain Member
- [https://wiki.samba.org/index.php/Idmap_config_rid Idmap config rid
]
- Als Backend wurde "rid" gewählt.
- Wichtiger Vorteil:
- Alle Domain User user accounts und groups sind automatisch auf allen Domain Mitgliedern vorhanden.
- Nachteil/Bitte beachten:
- Alle Domain Mitglieder müssen die selbe Config nutzen, um den oben genannten Vorteil zu haben.
# vim /etc/samba/smb.conf
[global] security = ADS workgroup = TEST2 realm = TEST2.LOCAL log file = /var/log/samba/%m.log log level = 1 # Default ID mapping configuration for local BUILTIN accounts # and groups on a domain member. The default (*) domain: # - must not overlap with any domain ID mapping configuration! # - must use a read-write-enabled back end, such as tdb. # - Adding just this is not enough # - You must set a DOMAIN backend configuration, see below idmap config * : backend = tdb idmap config * : range = 3000-7999 # Backend: rid # Template settings for login shell and home directory winbind nss info = template template shell = /bin/bash template homedir = /home/%U # idmap config for the TEST2 domain idmap config TEST2 : backend = rid idmap config TEST2 : range = 10000-999999
NSS konfigurieren
- Damit sich Domainuser am System anmelden und/oder deren ID auch auf das Linux-System gemappt werden.
# vim /etc/nsswitch.conf
- Die folgenden Zeilen in der Datei müssen dafür bearbeitet werden.
passwd: files winbind group: files winbind
smbd und nmbd starten
# systemctl start smbd nmbd
Der Domäne beitreten
# net ads join -U administrator
Enter administrator's password: Using short domain name -- TEST2 Joined 'TEST2' to dns domain 'test2.local' DNS Update for fs.test2.local failed: ERROR_DNS_UPDATE_FAILED DNS update failed: NT_STATUS_UNSUCCESSFUL
- Der Fehler resultiert daraus, das der DNS-Eintrag schon vorhanden ist und kann ignoriert werden.
winbind
# systemctl restart winbind
- Shares können auch per Samba-Registry eingerichtet werden. Die Performance ist besser.
- Shares in der /etc/samba/smb.conf zu definieren führt zu einer besseren Lesbarkeit.
Ein "browseable = no" kann einen kleinen Schutz gegen Vandalismus bieten. Das ist allerdings "security by obscurity".
Roaming Profile
# mkdir -p /local/samba/profiles/
# vim /etc/samba/smb.conf
[Profiles] path = /local/samba/profiles/ read only = no
Fehler Roaming Profile
- Es traten Fehler mit der Profilsyncronisierung auf.
- Neue Dateien wurde nicht mehr im Profil abgespeichert
# journalctl -xn 100|grep -i oplock
- Oplock break failed for file schueler.V2/ntuser.ini
- Workaround
# vim /etc/samba/smb.conf
veto oplock files = /NTUSER.DAT/
Folder Redirects
# mkdir -p /local/samba/
# vim /etc/samba/smb.conf
[Redirects] path = /local/samba/redirects/ read only = no
Container opsi-1.test2.local erstellen
Container opsi-1.test2.local erzeugen
lxc-create --name opsi-1.test2.local -t debian