NAME
ftpfs – file transfer protocol (FTP) file system |
SYNOPSIS
ftpfs [ –/dqntc ] [ –m mountpoint ] [ –a password ] [ –e ext ] [ –k
keyspec ] [ –o os ] [ –r remoteroot ] system |
DESCRIPTION
Ftpfs dials system and mounts itself (see bind(2)) on mountpoint
(default /n/ftp) to provide access via FTP to files on the remote
machine. Ftpfs attempts to use FTP's `passive' mode but falls
back to using `active' mode if that fails. If required by the
remote machine, ftpfs will ask factotum(4) for a key matching
the
pattern
The user names ftp and anonymous conventionally offer guest/read–only access to machines. Anonymous FTP may be called without using factotum by using the –a option and specifying the password. By default the file seen at the mount point is the user's remote home directory if he has one. The option –/ forces the mount point to correspond to the remote root. The option –r forces the mount point to correspond to the remote directory remoteroot. To avoid seeing startup messages from the server use option –q. To see all messages from the server use option –d. By default ftpfs only caches while a file operation is in progress. The –c flag enables caching, increasing performance but allowing outdated file and directory data to persist. Some systems will hangup an ftp connection that has no activity for a given period. The –K option causes ftp to send a NOP command every 15 seconds to attempt to keep the connection open. This command can cause some servers to hangup, so you'll have to feel your way. The –t option causes ftpfs to negotiate TLS encryption with the server. To terminate the connection, unmount (see bind(1)) the mount point. Since there is no specified format for metadata retrieved in response to an FTP directory request, ftpfs has to apply heuristics to steer the interpretation. Sometimes, though rarely, these heuristics fail. The following options are meant as last resorts to try to steer interpretation. A major clue to the heuristics is the operating system at the other end. Normally this can be determined automatically using the FTP SYST command. However, in some cases the server doesn't implement the SYST command. The –o option will force the case by specifying the name of the operating system. Known system types are: UNIX, SUN, TOPS, Plan9, VM, VMS, MVS, NetWare, OS/2, TSO, and WINDOWS_NT. Some systems and/or FTP servers return directory listings that don't include the file extension. The –e option allows the user to specify an extension to append to all remote files (other than directories).
Finally, there are two FTP commands to retrieve the contents of
a directory, LIST and NLST. LIST is approximately equivalent to
ls –l and NLST to ls. Ftpfs normally uses LIST. However, some FTP
servers interpret LIST to mean, give a wordy description of the
file. Ftpfs normally notices this and switches to using
NLST. However, in some rare cases, the user must force the use
of NLST with the –n option. |
EXAMPLE
You want anonymous FTP access to the system export.lcs.mit.edu.
The first rimport(1) command is only necessary if your machine
does not have access to the desired system, but another, called
gateway in this example, does.
|
SOURCE
/sys/src/cmd/ip/ftpfs |
SEE ALSO
bind(2) |
BUGS
Symbolic links on remote Unix systems will always have mode 0777
and a length of 8. After connecting to a TOPS–20 system, the mount point will contain only one directory, usually /n/ftp/PS:<ANONYMOUS>. However, walking to any valid directory on that machine will succeed and cause that directory entry to appear under the mount point. If caching is active, remote changes that have been cached will not be visible. Attempting to walk to directory/.flush.ftpfs will flush directory from the cache, thus forcing ftpfs to re–read it. There is no way to issue the appropriate commands to handle special synthetic FTP file types such as directories that automatically return a tar of their contents. Ftpfs makes copies in /tmp of files being transferred, so its effects might not be immediate. If there is enough main memory, you might want to run ramfs(4) first.
Filenames containing spaces will confuse ftpfs (and other FTP
clients). |