Netzwerkdateisystem mit Debian GNU/Linux mounten

Heute möchte ich vorstellen, wie man Netzwerkdateisysteme auf der Basis von Samba (Windows-Netzwerk-Shares), SSH2 (SFTP) und WebDAV unter Debian GNU/Linux mounten kann. Zunächst müssen dazu drei Pakete installiert werden:

apt-get install smbfs fuse-utils davfs2

Ich benutze Debian unstable, unter dem aktuellen stable ist das Paket für WebDAV nicht verfügbar, darum wird das WebDAV Beispiel dort nicht funktionieren.

Ich richte mir die Mounts gerne so ein, das sie auch mit Benutzer-Accounts mountbar sind, damit ich dafür nicht immer eine root-Shell öffnen muß. Um das zu erreichen, müssen die nötigen Kernel-Module beim Systemstart über /etc/modules geladen werden:

smbfs
fuse
coda

Die mount-Befehle müssen auf suid root gesetzt werden, damit das mounten korrekt klappt. Bei Updates geht diese Einstellung gerne mal verloren. Ich lasse deshalb über die /etc/inittab bei jedem Booten die Rechte richtig setzen:

# Beim Booten dafuer sorgen das das mount fuer
# davfs und fuse immer suid root ist
V1:23:once:chmod +s /usr/sbin/mount.davfs
V2:23:once:chmod +s /sbin/mount.fuse

Als letztes fehlt nun noch das Anlegen der Dateisysteme in der /etc/fstab und die Erzeugung der dort angegebenen Ordner:

//<em>hostname</em>/share  /<em>hostname</em>/share   smbfs   user,noauto,username=user,uid=0,gid=100,umask=007       0       0
//<em>hostname</em>/<em>benutzer</em>   /<em>hostname</em>/<em>benutzer</em>    smbfs   user,noauto,username=<em>benutzer</em>      0       0
https://mediacenter.gmx.net/ /space/gmx davfs   user,noauto     0       0
sshfs#<em>benutzer</em>@<em>hostname</em>:/home/<em>benutzer</em> /space/ssh/<em>hostname</em> fuse user 0 0

hostname ist dabei natürlich durch den richtigen Rechnernamen zu ersetzen, user ist der Benutzername. Die Pfade müssen natürlich auch den Gegebenheiten angepasst werden.

Ich würde empfehlen die Ordner für die Mountpoints als root anzulegen und wie folgt zu behandeln:

mkdir -p ordner
chown <em>benutzer</em> ordner
chmod 700 <em>benutzer</em>

Das wars dann auch schon. Beim ersten Mal sollte man als root von Hand die Module laden und die Rechte setzen. Als Benutzer kann man dann das mounten testen. Sicherheitshalber erst dann neu Booten, für den Fall das man einen Fehler beim Eintragen in die fstab gemacht hat.

Wenn man das Passwort für den WebDAV-Zugang nicht jedes Mal eingeben will, kann man dieses in .davfs2/secrets im Homeverzeichnis abspeichern:
https://mediacenter.gmx.net/    user@gmx.de     passwort
Nicht vergessen: chmod 600 .davfs2/secrets sorgt dafür, das man nur selbst die Datei lesen kann. Bei smbfs kann man das Passwort in der /etc/fstab ablegen. Das ist allerdings nicht ratsam, für den Fall das Benutzer mounten dürfen: diese können dann das Passwort auslesen. Beim SSH2/SFTP-Dateisystem müßte auch der Login ohne Passwort mit Schlüsselpaar funktionieren. Ein Howto dazu folgt.