Ich verwende AlmaLinux und Samba Winbind, die in Windows Server 2019 AD integriert sind. Die Domänenbenutzer haben Home-Verzeichnisse und ein pccommon-Verzeichnis (freigegebener Ordner).
Wenn ich im Active Directory einen neuen Domänenbenutzer erstelle, muss ich auf dem Linux-Computer in /home einen neuen Ordner erstellen und seinen Besitzer in den Namen dieses Benutzers ändern.
mkdir -p /home/newaccount
chown IIT\\newaccount: /home/newaccount
/etc/samba/smb.conf
idmap config * : rangesize = 1000000
idmap config * : range = 100000-19999999
idmap config * : backend = autorid
template homedir = /home/%U
template shell = /sbin/nologin
; winbind use default domain = yes
; winbind enum users = yes
; winbind enum groups = yes
winbind max domain connections = 10
winbind expand groups = 5
ntlm auth = yes
# workaround za https://bugzilla.samba.org/show_bug.cgi?id=11081 ?
#client schannel = no
[homes]
writable = yes
create mask = 0711
directory mask = 0711
map hidden = yes
map system = yes
invalid users = root nobody
csc policy = disable
root preexec = /usr/local/bin/netlogonpr %U
veto files = /autorun.inf/*.zepto/*.ZEPTO/*.scr/*.SCR/*.wsf/*.WSF/*.docm/*.DOCM/
delete veto files = yes
[pccommon]
path = /home/pccommon
read only = no
acl_xattr:ignore system acls = yes
Ausgabe
Das Problem besteht darin, dass die Domänenbenutzer die Home-Verzeichnisse der anderen sehen können. Auch wenn sie dort nicht schreiben können, ist das immer noch ein Problem. Wie kann ich dafür sorgen, dass jeder Domänenbenutzer nur sein eigenes Home-Verzeichnis sieht und nicht auch die aller anderen?
Antwort1
Ich würde vorschlagen, dass Sie Ihr „Root Preexec“-Skript ändern, um zu prüfen, ob das Home-Verzeichnis des Benutzers existiert, und es andernfalls zu erstellen.
Entfernen Sie die Zeile mit den ungültigen Benutzern und ersetzen Sie sie durch „gültige Benutzer = %S“.
Dadurch wird das Home-Verzeichnis des Benutzers nur für den Benutzer sichtbar und es wird für Sie erstellt, wenn es nicht existiert.