Übersicht
SHFS ist ein Remote-Dateisystem wie z.B. NFS. Der große Vorteil ist jedoch bei shfs die Verschlüsselung, die auf ssh, bzw. OpenSSH basiert, daher der Name s(s)hfs.
Das Kernel-Modul SHFS erlaubt es, unter Linux beliebige entfernte Verzeichnisse via SSH zu mounten und so in das eigene Dateisystem einzubinden. Im Gegensatz zu klassischen Freigaben z.B. per NFS lässt sich mit SHFS jedes entfernte Verzeichnis einbinden, auf das via SSH Zugriff besteht, ohne dass auf Serverseite spezielle Einstellungen vorzunehmen sind.
SHFS läuft unter Linux 2.4 (ab Kernel 2.4.9) und erlaubt es, entfernte Dateisysteme über eine normale Shell-Verbindung zu mounten. Dabei unterstützt SHFS verschiedene Cache-Funktionen, um den Zugriff auf die entfernten Dateisysteme zu beschleunigen.
SHFS basiert dabei weitgehend auf Florin Malitas FTPFS und entstand im Rahmen eines Betriebssystem-Kurses an der Charles University.
Leider scheint die Entwicklung im Jahre 2004 stehengeblieben zu sein -- es gibt zumindest keine neueren releases. Nun gibt es wieder patches http://atrey.karlin.mff.cuni.cz/~qiq/src/shfs/.
Homepage: http://shfs.sourceforge.net/
Lizenz: GPL
Mini-Howto
Ein super Anleitung befindet sich bei ProLinux. Einen weiteren Artikel findet man bei Linux NetMag. Auf der Homepage gibt es eine FAQ. Natürlich findet man SHFS auch bei Freshmeat. Siehe auch Wikipedia. Ausserdem gibt es Debian-Pakete. Eine mögliche Alternative zu SHFS ist sshfs von LUFS.
Debian
Howto zum installieren unter Debian:
Ohne deb-Paktete
docx@fuckup:~$ tar xvzf shfs*.tar.gz docx@fuckup:~$ cd shfs* docx@fuckup:~$ cp Changelog debian/changelog docx@fuckup:~$ fakeroot debian/rules binary docx@fuckup:~$ dpkg -i shfs*.deb
Debian-Pakete
Quelle: Godot's HowTo: SHFS Debian Woody, Sarge und Sid {en}
sudo apt-get install kernel-headers-`uname -r` fakeroot debhelper sudo apt-get install shfs-source shfs-utils module-assistant sudo module-assistant build shfs sudo module-assistant install shfs sudo modprobe shfs sudo su echo shfs >> /etc/modules exit
Dies hat bei mir mit Kernel 2.6.8 geklappt. Musste jedoch die Schritte ab module-assistant build shfs wiederholen, da beim ersten Mal noch eine Fehlermeldung kam (dazu einfach den Parameter -f verwenden, damit die bereits angelegte Datei überschrieben wird).
Ubuntu-Pakete
Die Anleitung für Ubuntu ist fast identisch zu der von Debian, nur das Headerpaket wird mit
sudo apt-get install linux-headers-`uname -r`
installiert.
Will man Usern ermöglichen, die "Partition" zu mounten muss man per
sudo chmod u+s /usr/bin/shfsmount
für shfsmount suid root setzen (wenn also ein User shfsmount startet, führt das System diesen Befehl als root aus [wenn der owner von shfsmount root ist]), was natürlich ein Sicherheitsrisiko sein kann.
Tipps & Tricks
Kommt noch