UUCICO(8C)

NAME
uucico, uucpd - transfer files queued by uucp or uux

SYNOPSIS
/usr/lib/uucp/uucico [ -dspooldir ] [ -ggrade ] [ -rrole ] [ -R ] [ -ssystem ] [ -xdebug ] [ -L ] [ -tturnaround ]

/usr/sbin/uucpd

DESCRIPTION
Uucico performs the actual work involved in transferring files between systems. Uucp(1C) and uux(1C) merely queue requests for data transfer which uucico processes.

The following options are available.

-dspooldir
    Use spooldir as the spool directory. The default is /var/spool/uucp.

-ggrade
    Only send jobs of grade grade or higher this transfer. The grade of a job is specified when the job is queued by uucp or uux.

-rrole
    role is either 1 or 0; it indicates whether uucico is to start up in master or slave role, respectively. 1 is used when running uucico by hand or from cron(8). 0 is used when another system calls the local system. Slave role is the default.

-R  Reverse roles. When used with the -r1 option, this tells the remote system to begin sending its jobs first, instead of waiting for the local machine to finish.

-ssystem
    Call only system system. If -s is not specified, and -r1 is specified, uucico will attempt to call all systems for which there is work. If -s is specified, a call will be made even if there is no work for that system. This is useful for polling.

-xdebug
    Turn on debugging at level debug. Level 5 is a good start when trying to find out why a call failed. Level 9 is very detailed. Level 99 is absurdly verbose. If role is 1 (master), output is normally written to the standard message output stderr. If stderr is unavailable, output is written to /var/spool/uucp/AUDIT/system. When role is 0 (slave), debugging output is always written to the AUDIT file.

-L  Only call ``local'' sites. A site is considered local if the device-type field in L.sys is one of LOCAL, DIR or TCP.

-tturnaround
    Use turnaround as the line turnaround time (in minutes) instead of the default 30. If turnaround is missing or 0, line turnaround will be disabled. After uucico has been running in slave role for turnaround minutes, it will attempt to run in master role by negotiating with the remote machine. In earlier versions of uucico, a transfer of many large files in one direction would hold up mail going in the other direction. With the turnaround code working, the message flow will be more bidirectional in the short term. This option only works with newer uucico's and is ignored by older ones.

If uucico receives a SIGFPE (see kill(1)), it will toggle the debugging on or off.

Uucpd is the server for supporting uucp connections over networks. Uucpd listens for service requests at the port indicated in the ``uucp'' service specification; see services(5). The server provides login name and password authentication before starting up uucico for the rest of the transaction.

Uucico is commonly used either of two ways: as a daemon run periodically by cron(8) to call out to remote systems, and as a ``shell'' for remote systems who call in. For calling out periodically, a typical line in crontab would be:

	0	*	*	*	*	/usr/lib/uucp/uucico -r1

This will run uucico every hour in master role. For each system that has transfer requests queued, uucico calls the system, logs in, and executes the transfers. The file L.sys(5) is consulted for information about how to log in, while L-devices(5) specifies available lines and modems for calling.

For remote systems to dial in, an entry in the passwd(5) file must be created, with a login ``shell'' of uucico. For example:

	nuucp:Password:6:1::/var/spool/uucppublic:/usr/lib/uucp/uucico

The UID for UUCP remote logins is not critical, so long as it differs from the UUCP Administrative login. The latter owns the UUCP files, and assigning this UID to a remote login would be an extreme security hazard.

FILES
/usr/lib/uucp/	UUCP internal files/utilities
/usr/lib/uucp/L-devices	Local device descriptions
/usr/lib/uucp/L-dialcodes	Phone numbers and prefixes
/usr/lib/uucp/L.aliases	Hostname aliases
/usr/lib/uucp/L.cmds	Remote command permissions list
/usr/lib/uucp/L.sys	Host connection specifications
/usr/lib/uucp/USERFILE	Remote directory tree permissions list

/var/spool/uucp/	Spool directory
/var/spool/uucp/AUDIT/*	Debugging audit trails
/var/spool/uucp/C./	Control files directory
/var/spool/uucp/D./	Incoming data file directory
/var/spool/uucp/D.hostname/	Outgoing data file directory
/var/spool/uucp/D.hostnameX/	Outgoing execution file directory
/var/spool/uucp/CORRUPT/	Place for corrupted C. and D. files
/var/spool/uucp/ERRLOG	UUCP internal error log
/var/spool/uucp/LOGFILE	UUCP system activity log
/var/spool/uucp/LCK/LCK..*	Device lock files
/var/spool/uucp/SYSLOG	File transfer statistics log
/var/spool/uucp/STST/*	System status files
/var/spool/uucp/TM./	File transfer temp directory
/var/spool/uucp/X./	Incoming execution file directory

/var/spool/uucppublic	Public access directory

SEE ALSO
uucp(1C), uuq(1C), uux(1C), L-devices(5), L-dialcodes(5), L.aliases(5), L.cmds(5), L.sys(5), uuclean(8C), uupoll(8C), uusnap(8C), uuxqt(8C)

D. A. Nowitz and M. E. Lesk, A Dial-Up Network of UNIX Systems.

D. A. Nowitz, Uucp Implementation Description.