SMB-Protokoll unter Linux

Samba 4 als Active-Directory-Domain-Controller einrichten

Debian- und Ubuntu-Basisinstallation

Unter Debian und Ubuntu werden die erforderlichen Programme und Bibliotheken mit dem Befehl

# apt-get install build-essential libacl1-dev libattr1-dev \ libblkid-dev libgnutls-dev libreadline-dev python-dev \ python-dnspython gdb pkg-config libpopt-dev libldap2-dev \ dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev

auf dem System installiert. Um die erweiterten Funktionen von Samba 4 nutzen zu können, muss das Dateisystem die Xattr-Namensräume "user" und "system" unterstützen. Für ein ext3-Dateisystem genügt dafür ein Eintrag wie der folgende in der /etc/fstab mit den Optionen "user_xattr","acl" und "barrier=1":

/dev/hda3 /home ext3 user_xattr,acl,barrier=1 1 1

Für ext4 muss nur der entsprechende Parameter geändert werden. Wichtig ist dabei vor allem der Eintrag "barrier=1". Der sorgt dafür, das Übertragungen sicher bei Stromverlust sind. Ohne diesen Eintrag kann man seine Active-Directory-Datenbank zerstören.

Des Weiteren muss der Kernel mit den XATTR-, SECURITY- und POSIX_ACL-Optionen für das Dateisystem kompiliert sein. Für das ext4-Dateisystem bedeutet das:

CONFIG_EXT4_FS_XATTR=y

CONFIG_EXT4_FS_SECURITY=y

CONFIG_EXT4_FS_POSIX_ACL=y

Ob das bereits der Fall ist, kann man bei einem Linux-2.6-Kernel mit CONFIG_IKCONFIG_PROC leicht mit dem folgenden Befehl testen:

$ zgrep CONFIG_EXT3_FS /proc/config.gz

Sollte das Dateisystem xattr nicht unterstützen, können Sie das durch einen Eintrag in der Sambakonfigurationsdatei smb.conf simulieren:

posix:eadb = /usr/local/samba/eadb.tdb

Damit werden alle speziellen Dateiattribute hinzugefügt. Das ist im Ergebnis nicht sehr effektiv, aber man kann es zumindest nutzen.