Fileserver für die Domain aufsetzen: Unterschied zwischen den Versionen
Aus Vosp.info
HK (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Container fs.test2.local erstellen == === Externe Links === [https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member Setting_up_Samba_as_a_Dom…“) |
HK (Diskussion | Beiträge) (→Container fs.test2.local erstellen) |
||
Zeile 1: | Zeile 1: | ||
− | == Container fs.test2.local | + | == Container fs.test2.local einrichten == |
=== Externe Links === | === Externe Links === | ||
[https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member Setting_up_Samba_as_a_Domain_Member] | [https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member Setting_up_Samba_as_a_Domain_Member] | ||
− | |||
− | |||
− | |||
=== Zeitzone festlegen === | === Zeitzone festlegen === | ||
− | dpkg-reconfigure tzdata | + | # dpkg-reconfigure tzdata |
=== Software installieren === | === Software installieren === | ||
− | apt install vim acl less samba inetutils-ping winbind libnss-winbind | + | # apt install vim acl less samba inetutils-ping winbind libnss-winbind |
Zeile 19: | Zeile 16: | ||
* Alle Prozesse, die mit dem folgenden Befehl gefunden werden können, müssen beendet werden. | * Alle Prozesse, die mit dem folgenden Befehl gefunden werden können, müssen beendet werden. | ||
− | ps ax | egrep "samba|smbd|nmbd|winbindd" | + | # ps ax | egrep "samba|smbd|nmbd|winbindd" |
* Der Befehlt stoppt die Prozesse. | * Der Befehlt stoppt die Prozesse. | ||
− | systemctl stop samba smbd nmbd winbind | + | # systemctl stop samba smbd nmbd winbind |
Samba-Configfile löschen für einen sauberen Start. | Samba-Configfile löschen für einen sauberen Start. | ||
− | rm /etc/samba/smb.conf | + | # rm /etc/samba/smb.conf |
Sämtliche Datenbanken, die auf .tdb und .ldb enden, löschen.<br> | Sämtliche Datenbanken, die auf .tdb und .ldb enden, löschen.<br> | ||
Mit dem folgenden Befehl lassen sich die Orte finden, an denen sie liegen. | Mit dem folgenden Befehl lassen sich die Orte finden, an denen sie liegen. | ||
− | smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR" | + | # smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR" |
LOCKDIR: /var/run/samba | LOCKDIR: /var/run/samba | ||
STATEDIR: /var/lib/samba | STATEDIR: /var/lib/samba | ||
Zeile 38: | Zeile 35: | ||
* Der folgende Befehl löscht die Datenbanken auf einen Schlag. | * 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 | + | # 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 === | === Beitritt der Maschine in die Domain vorbereiten === | ||
Zeile 44: | Zeile 41: | ||
* Die Namensauflösung muss funktionieren. | * Die Namensauflösung muss funktionieren. | ||
* Ausführen im Container "samba4" | * 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 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 | + | # 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. | * Damit das Programm "net" arbeiten kann, muss es den Namen des Host auflösen können. | ||
Zeile 57: | Zeile 54: | ||
* 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. | * 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 | + | # vim /etc/hosts |
127.0.0.1 localhost | 127.0.0.1 localhost | ||
Zeile 65: | Zeile 62: | ||
* 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: | * 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 | + | # vim /etc/krb5.conf |
[libdefaults] | [libdefaults] | ||
Zeile 138: | Zeile 135: | ||
=== winbind === | === winbind === | ||
− | systemctl restart winbind | + | # systemctl restart winbind |
=== Shares === | === Shares === | ||
* Shares können auch per Samba-Registry eingerichtet werden. Die Performance ist besser. | * Shares können auch per Samba-Registry eingerichtet werden. Die Performance ist besser. |
Version vom 29. Juli 2018, 20:00 Uhr
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