Search:  
Gentoo Wiki

Network_File_Transfer_Protocols_and_Filesystems

Contents

Client / Server

HTTP

What you are reading this webpage with, the obvious and most robust choice for giving hoards of people download access.

HTTPS

A secure version of http used to place credit card orders online, etc. Complicated to set up and generally not worth the effort unless you are running a commercial website or one where users need access to sensitive information.

FTP

Mostly used on public networks like the internet, a good solution if a number of users need to upload files with minimal fuss. Works fine for downloads as well, but if uploads aren't necessary then http offers a bit less overhead. FTP hosts can be mounted as a filesystem (net-fs/curlftpfs).

SFTP

A secure version of ftp that uses ssh. Free Windows clients such as PUTTY are available, so if your nix-less friends need to securely transfer files to and from your box, this is the way to go.

The newer way of securing FTP is SSL/TLS. One stand alone server that does not require intergration into the shell or ssh is vsftpd. The major advantage of this is one can set up ssh to disallow all logins except admin and still allow users to use FTP with SSL/TLS to manage files on there shell account. FTP with SSL/TLS has the advantage of the password is NOT sent in clear(plain text) where is can be sniffed by compermized routers/computers on the network. Free windows clients that support FTP with SSL/TLS are Core FTP, and Firefox FireFTP extension.

SAMBA

Only suitable for private networks, only necessary when you need to directly access contents using a Windows machine as if it were a regular Windows SMB share.

NFS

The predominant UNIX file transfer protocol on private networks. Can be burdensome to set up and maintain.

SHFS

net-fs/shfs will not build against kernels newer than 2.6.19; sys-fs/sshfs-fuse has been suggested as an alternative (see bug #157111).

Similar to sftp, actually mounts the remote files as a filesystem using sftp! In addition to being secure, this makes it the most versatile and easy to use *nix network filesystem ever. It is usable on both public and private networks, and absolutely no configuration is required once you have sshd running on the remote machine (as well you should!) (Note: Only one command can be executed at a time! So while you are copying a big file for example, you may not be able to copy a second at the same time, or make a directory listing: to avoid this, you could use a GNU screen session or open a second connection to the server Note2: Symlinks won't be followed in filesystem mounted via shfs...)

/etc/init.d/sshd start
rc-update add sshd default
emerge shfs
modprobe shfs
echo "shfs" >> /etc/modules.autoload.d/kernel-2.6
or 
echo "shfs" >> /etc/modules.autoload.d/kernel-2.4
mkdir /mnt/shfs
shfsmount username@server:/path/to/any/directory /mnt/shfs
-- or equivalently --
mount -t shfs username@server:/path/to/any/directory /mnt/shfs
username@server:/path/to/any/directory /mnt/shfs shfs rw,user,noauto 0 0

and then mount with:

mount /mnt/shfs

See The SHFS website for more information

There is also sys-fs/sshfs-fuse which needs no root privileges to mount ssh.

Peer to Peer (P2P)

kermit

Retrieved from "http://www.gentoo-wiki.info/Network_File_Transfer_Protocols_and_Filesystems"

Last modified: Mon, 22 Sep 2008 03:56:00 +0000 Hits: 29,044