Im Rahmen einer Serverinstallation Samba, möchte ich die POSIX ACL einführen, da hiermit die Rechte auf Dateien und Verzeichnisse über das Windowsfrontend gesetzt werden können.
Voraussetzungen
Dateisystem
Die Voraussetzung für den Einsatz von ACL ist ein Dateisystem mit entsprechender Unterstützung für erweitere Attribute und POSIX ACL. Sie können das mit dem Befehl “grep "XATTR\|POSIX_ACL" /boot/config-$(uname -r)” überprüfen. Die Ausgabe sollte in etwa so aussehen:
% grep "XATTR\|POSIX_ACL" /boot/config-$(uname -r)
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_DEVPTS_FS_XATTR=y
CONFIG_TMPFS_XATTR=y
CONFIG_CIFS_XATTR=y
Sollten bei den Zeilen mit *_FS_XATTR und *_
Bei der Verwendung von XFS ist nichts weiter zu beachten. Sollten Sie ACL’s auf einem ext2/ext3 Dateisystem eingesetzt werden, dann ist die Mountoption “acl” beim mounten anzugeben.
Samba
Bei Samba muss die Unterstützung von Attributen und ACL eingebaut sein. Mit dem Kommando “ldd $(which smbd)|grep "attr\|acl"” können Sie das überprüfen. Die Ausgabe sollte etwas so aussehen:
% ldd $(which smbd)| grep "attr\|acl"
libattr.so.1 => /lib/libattr.so.1 (0x4017c000)
libacl.so.1 => /lib/libacl.so.1 (0x40180000)
Kommandozeilenwerkzeuge für Linux
Bei einem Debiansystem können Sie die Kommandozeilenwerkzeug mit dem Befehl “apt-get install acl” nachinstallieren.
Erste Schritte
Mit dem ACL können Sie einem Dateiobject mehrere n Benutzern und Gruppen mit unterschiedlichen Rechten zuordnen.
Die Zuordnung der POSIX ACL zu den Windows ACL sieht so aus:
(Samba-3: Windows file and directory ACLs)
Windows ACE File Attribute Flag
Full Control #
Traverse Folder/Execute File x
List Folder/Read Data r
Read Attributes r
Read Extended Attributes r
Create Files/Write Data w
Create Folders/Append Data w
Write Attributes w
Write Extended Attributes w
Delete Subfolders and Files w
Delete #
Read Permissions all
Change Permissions #
Take Ownership #