FTAMD(8C)

NAME
ftamd - FTAM responder

SYNOPSIS
iso.ftam [-c] [-d] magic arguments
(under tsapd )

DESCRIPTION
The ftamd server implements the responder side of the File Transfer, Access, and Management (FTAM) service.

Currently, implementations for Berkeley and AT&T UNIX exist. Supported are: the no-recovery FTAM-QoS; any of the transfer, management, and transfer and management service classes; the kernel, read, write, limited file management, enhanced file management, and grouping functional units; and, the kernel and storage attribute groups. Only three document types are supported as of this writing: unstructured text files (FTAM-1), unstructured binary files (FTAM-3), and filedirectory files (NIST-9).

DEBUG OPERATION
If iso.ftamd is started interactively, or if the `-d' switch is given, then debug mode is entered. In this case, all logging activity is displayed on the user's terminal. In addition, the logging information is more verbose.

AUTHENTICATION
An FTAM initiator must be listed in the passwd file and have a non-empty password. Further, as with the ftpd daemon, the username must not appear in the ftamusers file or the /etc/ftpusers file.

If the username “ANON” or “ftp” is given, then ftamd treats this as a guest access, similar to the “anonymous” facility supported by the ftpd daemon. An entry in the passwd file for user “ftp” must be present with a non-zero UID. For guest access, a chroot to the guest home directory is executed to restrict access to the system. The guest home directory should be structured thusly:

Note that the `-c' flag (given in the isoservices (5) file) forces a chroot to the initiator's home directory. This is used to restrict network access.

~ftp/
    Owned by “ftp” with mode 555.

~ftp/etc/
    Owned by the super-user with mode 555. The passwd and group files should be present, each with mode 444.

~ftp/pub/
    Owned by “ftp” with mode 777. This is the directory where guests can place files from remote systems.

~ftp/portal/
    Owned by the super-user with mode 555. The super-user can put world-readable files here (with mode 444) without fear of these files being removed or altered by guests.

Note that since ftamd doesn't use ls in order to produce directory listings, the directory bin/ under the guest home directory need not be present, as it must be to support the anonymous guest with ftpd.

VIRTUAL FILESTORE
Here are the file attribute mappings:

filename
    A single component, relative to the user's $HOME. Changing this attribute is equivalent to a rename.

contents-type
    Based on st_mode: NIST-9 for directories, FTAM-1 for regular files appearing to be textual, FTAM-3 for all other regular files. Files that are neither regular nor directories are inaccessible via this implementation of the VFS (i.e., special files).

account
    The st_gid according to /etc/group. Changing this attribute is equivalent to a chgrp.

date-and-time-of-creation
    The st_mtime.

date-and-time-of-last-modification
    The st_mtime.

date-and-time-of-last-read-access
    The st_atime.

date-and-time-of-last-attribute-modification
    The st_ctime.

identity-of-creator
    The st_uid according to /etc/passwd.

identity-of-last-modifier
    The st_uid according to /etc/passwd (if the value of the st_mode field guarantees uniqueness).

identity-of-last-reader
    The st_uid according to /etc/passwd (if the value of the st_mode field guarantees uniqueness).

identity-of-last-attribute-modifier
    The st_uid according to /etc/passwd (if the value of the st_mode field guarantees uniqueness).

file-availability
    Immediate.

permitted-actions
    Depends on st_mode as interpreted by access (2): R_OK for permission to read; W_OK for permission to write; permission is always granted to read attributes; permission is granted to change attributes if the initiator has uid equal to st_uid; permission to delete is based on writability of parent directory.

filesize
    The st_size.

future-filesize
    Not available.

access-control
    Not available.

encryption-name
    Not available.

legal-qualifications
    Not available.

private-use
    Not available.

The activity attribute mappings are straight-forward. The read action corresponds to reading UNIX files. The insert, replace, extend, and erase actions correspond to writing UNIX files. Concurrency control is supported for reading and writing, but not for reading or changing attributes, or for deleting files.

FILES
isodocuments	ISODE FTAM document types database
isoentities	ISODE entities database
ftamusers	list of users prohibited by ftam
ftam.log	logfile
/usr/adm/wtmp	login records

SEE ALSO
ftam(1c), libftam(3n), isodocuments(5)
The ISO Development Environment: User's Manual,
ISO 8571: Information Processing Systems -- File Transfer, Access, and Management

DIAGNOSTICS
All obvious.

AUTHOR
Marshall T. Rose

This program is based somewhat on the ftpd(8c) program supplied with Berkeley UNIX.

BUGS
The anonymous account is inherently dangerous and should be avoided when possible. It is also inherently useful.

The Berkeley UNIX version of this program runs with the effective UID of the FTAM initiator, but also with the real UID of the super-user. This is necessary to change the account attribute on files (using chown ). The possible security holes have been extensively considered, but may be incomplete.

The AT&T UNIX version, which lacks kernel support for this technique, acts differently. Immediately upon association establishment, it changes both the real and effective UID to that of the FTAM initiator. To change the account attribute on files, it invokes the chgrp program. Similarly, to create or delete directories, it invokes either the mkdir program or the rmdir program.

The AT&T UNIX version of this program has been tested both under the System V Compatibility Package in SUN UNIX release 3.2 and a true SVR3 implementation. However, the fcntl syscall, which is used to implement concurrency control, currently seems to be a no-op. The Berkeley UNIX version of this program uses flock, which seems to work just fine.