diff --git a/docs/frontends/FTP-and-SFTP.rst b/docs/frontends/FTP-and-SFTP.rst index d63a61f6c..acf0539d6 100644 --- a/docs/frontends/FTP-and-SFTP.rst +++ b/docs/frontends/FTP-and-SFTP.rst @@ -1,8 +1,10 @@ + + ================================= -Tahoe-LAFS FTP and SFTP Frontends +Tahoe-LAFS SFTP and FTP Frontends ================================= -1. `FTP/SFTP Background`_ +1. `SFTP/FTP Background`_ 2. `Tahoe-LAFS Support`_ 3. `Creating an Account File`_ 4. `Running An Account Server (accounts.url)`_ @@ -13,7 +15,7 @@ Tahoe-LAFS FTP and SFTP Frontends 9. `Known Issues`_ -FTP/SFTP Background +SFTP/FTP Background =================== FTP is the venerable internet file-transfer protocol, first developed in @@ -31,6 +33,10 @@ Both FTP and SFTP were developed assuming a UNIX-like server, with accounts and passwords, octal file modes (user/group/other, read/write/execute), and ctime/mtime timestamps. +We recommend SFTP over FTP, because the protocol is better, and the server +implementation in Tahoe-LAFS is more complete. See `Known Issues`_, below, +for details. + Tahoe-LAFS Support ================== @@ -40,14 +46,14 @@ others) to access the virtual filesystem. They can also run an FTP server, so FTP clients (like ``/usr/bin/ftp``, ``ncftp``, and others) can too. These frontends sit at the same level as the web-API interface. -Since Tahoe-LAFS does not use user accounts or passwords, the FTP/SFTP +Since Tahoe-LAFS does not use user accounts or passwords, the SFTP/FTP servers must be configured with a way to first authenticate a user (confirm that a prospective client has a legitimate claim to whatever authorities we might grant a particular user), and second to decide what directory cap should be used as the root directory for a log-in by the authenticated user. A username and password is used for this purpose. (The SFTP protocol is also capable of using client RSA or DSA public keys, but this is not currently -implemented.) +implemented in Tahoe-LAFS.) Tahoe-LAFS provides two mechanisms to perform this user-to-cap mapping. The first is a simple flat file with one account per line. The second is an @@ -79,22 +85,22 @@ Running An Account Server (accounts.url) ======================================== The accounts.url directive allows access requests to be controlled by an -HTTP-based login service, useful for centralized deployments. This was -used by AllMyData to provide web-based file access, where the service -used a simple PHP script and database lookups to map an account email -address and password into a Tahoe directory cap. The service will receive a +HTTP-based login service, useful for centralized deployments. This was used +by AllMyData to provide web-based file access, where the service used a +simple PHP script and database lookups to map an account email address and +password to a Tahoe-LAFS directory cap. The service will receive a multipart/form-data POST, just like one created with a