Last week we looked at setting up simple FTP dropboxes for secure-enough uploads and downloads, using file system permissions and simple vsftpd access controls to control who may use your server. This week we'll look at how to configure FTP clients on Linux and Windows to make it as easy as possible for your users, so they will use FTP instead of crushing your mail server with huge email attachments, or faxing, or copying to eleventy-nine floppy disks.
Graphical Linux FTP Clients
gFTP is one of the nicest, most fully-featured graphical Linux FTP clients. You can use it to login and test your local vsftpd server by entering "localhost" in the "Host:" box, then the login and password, if there are any. If it's an anonymous server, leave them blank and click on "connect" when the popup login and password boxes appear. gFTP automatically selects port 21, so you don't need to mess with this except when the server you're connecting to uses a non-standard port.
To transfer files, change to appropriate local and remote directories. Highlight files with the mouse, then click the arrow. Select multiple files with Ctrl+ left-click or Shift + left-click.
Another great shortcut is to set the default local directory. Go to FTP -> Options -> General, and on the Startup Directory line enter the full path, like /home/carla/dropbox-uploads. Stuff all of your uploads into this directory so you don't have to wander all over your local filesystem looking for them.
FTP -> Options is the place to set all of your defaults: proxies, email address, overwrite and refresh defaults, charsets, and such. If you set "View Program" to Konqueror or Mozilla, you'll be able to preview all files from gFTP by righting-click on the file and selecting "Preview."
gFTP has a couple of other noteworthy features: it supports SSH/SSL for secure authentication and transmission, and it supports FXP transfers, which are transfers between two remote hosts. And it is fully internationalized, supporting a host of languages which you can see for yourself at gFTP.
All Web browsers support anonymous ftp. The two browsers that get my vote as Best Browsers are Konqueror and Mozilla. Konqueror runs only on Linux, and requires the KDE desktop. Mozilla runs on everything there is.
To get to an FTP server with a Web browser, type "ftp://ftp.website.com" in the URL bar. To test directly on your ftp server, use "ftp://localhost." Downloading files is simple: right-click on the file name, then click the download command. Mozilla uses the odd phrasing "Save link target as..." Konqueror is a bit more sensible and says "Copy to..."
Konqueror, unlike Mozilla, supports authenticated logins, so you can use it for FTP sites that require a login and password.
Uploading files via browser is a bit trickier than downloading. In Mozilla, navigate to the FTP directory you want to upload files to. Then use File -> Upload File. It only lets you upload one file at a time.
In Konqueror, open a second window with Window -> Split View. Use this window to select files from the local file system. Have the other window open to the FTP directory you want to upload to. You can select multiple files with Ctrl+ left click, or Shift + left click. Then drag them to the FTP folder, and select "Copy here."
With a browser it's simple to view text or image files, and you can bookmark your FTP sites. I think using a Web browser to do FTP transfers is more trouble than a standalone FTP client. But some folks prefer them, so there you are.
Windows FTP Clients
Mozilla also runs on Windows. (Friends don't let friends use the notoriously porous Internet Explorer.) A good standalone FTP client is Core FTP Lite. It is free of cost and cram-full of features. The basic setup is simple, just like gFTP- you can make bookmarks, and have it save your logins. The Pro version comes with features that might be worth coughing up $29.95 for, such as scheduled batch transfers and Zip compression / decompression.
Binary Or ASCII Mode
For most transfers use Binary mode. ASCII mode transfers only text and will corrupt binary files, like images and binary executables. The one time ASCII mode is preferable is when you transfer text files. Most of the time you can ignore this issue completely, because your FTP client will automatically select the correct mode.
Passive Or Active Transfer
Again, your FTP client should deal with this on its own. Passive mode is for getting through firewalls, especially NAT firewalls, without having to write rules to allow the connection. All connections are initiated from the client. This is easier for the client, but the server admin needs to configure the server firewall to allow FTP connections on unprivileged (greater than 1024) ports.
This article really isn't aimed at power users, but I cannot ignore you fine persons entirely. ncftp is a great command-line FTP client for both Windows and Linux, and practically every other platform. It has tab completion, bookmarks, and batch processing. And you can set up cron jobs to run timed transfers, which is handy when you want to go home and not sit around fussing with the darn thing.
The bottom line is, if you want users and customers to use FTP, making it as easy as possible works better than yelling and threats. Save those for extremely deserving cases.