V prachu dějin je na blogu zapadlý článek „sshfs – ke vzdáleným souborům šifrovaně a interaktivně“, ale protokolů pro vzdálený přístup používáme více, takže je vhodné jej po dlouhé době doplnit o připojení vzdáleného ftp serveru prostřednictvím fuse do lokálního souborového systému. Protokol ftp
je sám o sobě neinteraktivní a pokud je potřebné editovat soubory na serveru, může být spolupráce mezi ftp klientem a editorem otravná.
K připojení ftp[s] do souborového systému je potřeba FUSE. Filesystem in Userspace je původně linuxový modul, dnes dostupný i pro další un*xové systémy, který umožňuje neprivilegovaným uživatelům používat/vytvářet vlastní souborové systémy, nezřídka se používá pro virtuální souborové systémy, nebo pro zpřístupnění souborových systémů, jež pro neprivilegovaného uživatele nejsou přístupné. FUSE je pouze modul jádra, nad nímž stojí další systém, který zpřístupní například šifrované oddíly (EncFS), scp (SSHFS), ZFS v systému GNU/Linux, a další.
Dalším potřebným programem je curlftpfs, jenž je delší dobu nevyvíjený, ale vzhledem k bezchybné funkčnosti by to nemělo představovat problém. Instalaci „svatou trojicí“ (./configure
& make
& make install
) nebudu doporučovat, většina běžně používaných distribucí by měla mít program curlftpfs
ve svých repozitářích.
Fedora/RHEL/CentOS:
===================
[sudo] yum install curlftpfs
Debian/Ubuntu/...:
==================
[sudo] aptitude install curlftpfs
Instalační program by měl sám doinstalovat FUSE, pokud již není na počítači používáno. Uživatelé, kteří mají mít práva používat curlftpfs (či jinou nadstavbu fuse), musí být zařazeni do skupiny fuse, např. příkazem usermod -a -G fuse jmeno_uzivatele
. Dalším krokem je vytvoření adresáře, jenž se bude využívat jako bod připojení [mount point]; postačí v domovském adresáři uživatele. (mkdir ~/fuse
)
Používání
Poté se lze již připojit: curlftpfs ftp.domena.tld ~/fuse/ -o user=uzivatel:heslo
Po připojení lze pracovat se soubory stejně, jako by byly v lokálním souborovém systému, což se může hodit například při editaci konfiguračních souborů webu nebo .htaccess pravidel. Pochopitelně s rychlostním omezením, daným připojením.
Pro odpojení se používá příkaz fusermount
, stejně jako v libovolném filesystému připojeném prostřednictvím fuse, tj. v uvedeném příkladu se odpojení realizuje pomocí fusermount ~/fuse/ -u
.
Jako každý souborový systém jde i fuse připojit trvale v /etc/fstab
přidáním řádku:
curlftpfs#uzivatel:heslo@ftp.domena.tld /mnt/ftpfs fuse auto,user,uid=1000,allow_other,_netdev 0 0
a přidáním .netrc
do domovské složky oprávněného uživatele, který obsahuje přístupové údaje:
machine ftp.domena.tld login uzivatel password heslo
Článek vyšel 21. listopadu 2012 na webu LinuxSoft.cz.