Mount ftp
C'è un articolo interessante per approfondire come linux gestisce l'ftp qui http://blog.tarotoast.com/2006/04/02/242/ .
Spiega il funzionamento di fuse, kernel space, user space, dice che è necessario modificare il kernel ricompilandolo insomma la fa complicata parecchio.
Con ubuntu 10.04 sono riuscito a fare tutto con successo usando questi comandi, prendendo spunto da questa pagina http://ubuntuforums.org/showthread.php?t=441126
Installare ubuntu
apt-get install curlftpfs
Installare redhat
#andare su http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/
#o quello più adatto alla propria distro scaricare l'ultimo package
rpm -Uvh rpmforge-release*rpm
yum install fuse-curlftpfs
Montare da super user
curlftpfs ftpusername:ftppassword@ftp.site.address /mnt/ftp/dir-locale
Questo comando monta nella directory locale indicata la home ftp dell'utente ftpusername.
Se però voglio accedere a questa cartella tramite per esempio l'utente www-data che è l'user con cui apache viene eseguito ho dei problemi anche se teoricamente i permessi ne consentirebbero l'accesso.
Leggere da utente semplice
Per riuscire a leggere dall'utente www-data per prima cosa ho recuperato il group-id e user-id di quell'utente. Si può fare con il comando id o leggendo direttamente i numeri nei file /etc/passwd e /etc/group
Nel mio caso erano entrambi 33
Ho aggiunto la riga qui sotto al file /etc/fstab ho fatto mount e tutto ha funzionato
curlftpfs#ftpusername:ftppassword@ftp.site.address/mnt/ftp/dir-locale fuse allow_other,uid=33,gid=33 0 0
Fstab dettagli configurazione
Nel help di ubuntu ci sono molti dettagli su fstab per configurarle al meglio con diversi esempi https://help.ubuntu.com/community/Fstab
Mount SFTP cioè ssh
yum install fuse-sshfs.i386
#oppure sotto ubuntu
apt-get install sshfs
Fare in modo tramite ssh che l'utente root non debba aver bisogno di password per collegarsi, c'è la procedura per l'autenticazione tramite chiave nella pagina ssh
Dentro fstab
sshfs#utente-server@ip-server:/dir/server /dir/client fuse user,auto 0 0
un altro esempio dove utilizzo una porta non standard
sshfs#backup@ipserver:/opt /mnt/backup fuse user,exec,auto,port=1234 0 0
Una pagina di riferimento http://www.wiredrevolution.com/system-administration/share-a-remote-filesystem-over-ssh un'altra pagina dove ho preso tante informazioni http://ubuntuforums.org/showthread.php?t=430312
to mount a directory in another
add to fstab this line
/dir/destination /dir/source/will/disappear auto bind,gid=46,defaults 0 0