Linux als Windowsfileserver in der ADS: Unterschied zwischen den Versionen
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 64: | Zeile 64: | ||
read only = no | read only = no | ||
browseable = yes | browseable = yes | ||
| − | |||
create mask = 0770 | create mask = 0770 | ||
directory mask = 0770 | directory mask = 0770 | ||
| Zeile 87: | Zeile 86: | ||
== Freigabe konfigurieren == | == 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 = | ||
| + | == Die meisten Einstellungen PAM bestreffend sind automatisch erledigt worden=== | ||
| + | *cat common-auth | ||
| + | auth [success=2 default=ignore] pam_unix.so nullok | ||
| + | auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass | ||
| + | auth requisite pam_deny.so | ||
| + | auth required pam_permit.so | ||
| + | *common-account | ||
| + | account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so | ||
| + | account [success=1 new_authtok_reqd=done default=ignore] pam_winbind.so | ||
| + | account requisite pam_deny.so | ||
| + | account required pam_permit.so | ||
| + | * grep "^[^#]" common-password | ||
| + | password [success=2 default=ignore] pam_unix.so obscure yescrypt | ||
| + | password [success=1 default=ignore] pam_winbind.so try_authtok try_first_pass | ||
| + | password requisite pam_deny.so | ||
| + | password required pam_permit.so | ||
| + | == 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. | ||
Aktuelle Version vom 18. September 2024, 13:24 Uhr
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
Die meisten Einstellungen PAM bestreffend sind automatisch erledigt worden=
- cat common-auth
auth [success=2 default=ignore] pam_unix.so nullok auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass auth requisite pam_deny.so auth required pam_permit.so
- common-account
account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so account [success=1 new_authtok_reqd=done default=ignore] pam_winbind.so account requisite pam_deny.so account required pam_permit.so
- grep "^[^#]" common-password
password [success=2 default=ignore] pam_unix.so obscure yescrypt password [success=1 default=ignore] pam_winbind.so try_authtok try_first_pass password requisite pam_deny.so password required pam_permit.so
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.