Samba und ACLs

Eigentlich sind ACLs mit Samba kein grosses Problem. Es gibt auch genug Howtos und Anleitungen im Netz und ebensoviele Hinweise in diversen Mailinglisten und Newsgroups. Nur leider deckt nicht eine einzige dieser Anleitungen meine Umgebung ab:

– Samba Server als Fileserver integriert in eine Windows 2003 Domäne, also nicht als Domänen Controller.
– Unix Benutzer und Gruppen (Uid und Gid) kommen über nss-ldap von einem zentralen LDAP-Server.

Alles was ich im Netz gefunden habe, setzte entweder voraus, dass der Samba Server gleichzeitig auch als Domänen Controller arbeitet, oder dass keine zentrale Vergabe von Uids und Gids über LDAP (oder NIS) vorhanden ist, sondern diese dynamisch mittels des winbindd aus den SIDs der Windows Domäne erzeugt werden.

Nach sehr viel Trial and Error kam dann zum Schluss folgende funktionierende Konfiguration heraus:

[global]
 ...
 winbind trusted domains only = yes
 winbind use default domain = yes
 idmap uid = 50000-60000
 idmap gid = 50000-60000
 ...

Die Option winbind use default domain bewirkt, dass Samba den Domänenteil bei der Suche nach dem zur SID passenden Benutzer weglässt. So wird schonmal aus DOMAIN\BENUTZER ein einfaches BENUTZER.

Dies reicht aber noch nicht aus. Als nächstes bewirken die beiden idmap-Einträge, dass die Pseudo-Uids des winbindd auf einen eigentlich nicht existierenden Uid und Gid Bereich gemappt werden, da es ansonsten mit den zentral vergebenen Uids und Gids kollidiert.

Laut man smb.conf und weiterer Dokumentation sollten diese Bereiche mit den existierenden Benutzern überlappen, dies funktioniert aber nur, wenn man die Uids und Gids auch per winbindd erzeugen lässt.

Also kurz um: Man ignoriere jegliche Warnung in man smb.conf, schlage alle Hinweise in den Wind, setze einige laut Dokumentation nicht funktionierende Parameter, und siehe da es funktioniert. Manchmal hilft es einfach die Dokumentation zu ignorieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert