Linux als Windowsfileserver in der ADS

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Voraussetzungen

  • Das System läuft unter Debian mit einem ZFS-Mirror (Pool: /pool1).
  • Die Domain lautet: lab.internal.
  • Die ZFS-Freigabe soll pool1 heißen.
  • Du benötigst administrative Zugangsdaten zur Domäne.

Installation der notwendigen Pakete

Installiere die erforderlichen Pakete:

apt update
apt install samba smbclient krb5-user winbind libpam-winbind libnss-winbind

Während der Installation von krb5-user wirst du nach der Standard-Domäne gefragt. Gib dort die Domäne lab.internal an.

Kerberos konfigurieren

Bearbeite die Datei /etc/krb5.conf, um Kerberos korrekt einzurichten. Ein Beispiel für die Konfiguration:

[libdefaults]
   default_realm = LAB.INTERNAL

[realms]
   LAB.INTERNAL = {
     kdc = win2022.lab.internal
     admin_server = win2022.lab.internal
   }

[domain_realm]
   .lab.internal = LAB.INTERNAL
   lab.internal = LAB.INTERNAL

Teste die Konfiguration mit:

kinit administrator@LAB.INTERNAL

Samba konfigurieren

Bearbeite die Datei /etc/samba/smb.conf. Eine Beispielkonfiguration für einen Domänenmitglied-Server:

[global]
   workgroup = LAB
   realm = LAB.INTERNAL
   security = ads
   encrypt passwords = yes

   idmap config * : backend = tdb
   idmap config * : range = 10000-20000
   idmap config LAB : backend = rid
   idmap config LAB : range = 20000-30000

   winbind use default domain = yes
   winbind offline logon = false
   winbind nss info = rfc2307
   winbind enum users = yes
   winbind enum groups = yes

   template shell = /bin/bash
   template homedir = /home/%U

   kerberos method = secrets and keytab
   dedicated keytab file = /etc/krb5.keytab

   log file = /var/log/samba/%m.log
   log level = 1

[pool1]
   path = /pool1
   read only = no
   browseable = yes
   create mask = 0770
   directory mask = 0770

Domäne beitreten

Um den Server der Domäne beitreten zu lassen, führe den folgenden Befehl aus:

net ads join -U Administrator

Gib das Passwort des Domänenadministrators ein, wenn du dazu aufgefordert wirst.

Winbind-Dienste aktivieren

Aktiviere die Winbind-Dienste und starte Samba:

systemctl restart smbd nmbd winbind
systemctl enable smbd nmbd winbind

Teste, ob Benutzer und Gruppen der Domäne aufgelistet werden können:

wbinfo -u
wbinfo -g

Überprüfe, ob Domänenbenutzer korrekt angezeigt werden:

getent passwd DOMÄNENBENUTZER

Freigabe konfigurieren

ACL-Typ auf POSIX-ACL setzen

zfs set acltype=posixacl pool1

Setzen von ACLs mit setfacl: Jetzt kannst du wie gewohnt mit setfacl Berechtigungen verwalten

setfacl -m g:domänen-benutzer:rwx /pool1

Überprüfen der ACLs: Prüfe, ob die ACLs korrekt angewendet wurden

getfacl /pool1

Domänenbenutzer-Anmeldung – Zusammenfassung

Heimatverzeichnisse automatisch erstellen

Damit für Domänenbenutzer beim ersten Login automatisch ein Heimatverzeichnis erstellt wird, musst du nur noch den entsprechenden Abschnitt in der PAM-Konfiguration anpassen.

Bearbeite die Datei /etc/pam.d/common-session und füge folgende Zeile hinzu:

session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
  • pam_mkhomedir.so sorgt dafür, dass beim ersten Login eines Domänenbenutzers automatisch ein Heimatverzeichnis erstellt wird.
  • skel=/etc/skel legt fest, dass die Standarddateien aus dem Verzeichnis /etc/skel kopiert werden.
  • umask=0022 legt die Berechtigungen für die neu erstellten Verzeichnisse und Dateien fest.

Sobald diese Änderung vorgenommen wurde, wird für jeden Domänenbenutzer, der sich zum ersten Mal anmeldet, automatisch ein Heimatverzeichnis erstellt.