UUCP-Over-TCP: Server Side |
|
Copyright, License, and Disclaimer
Configuring UUCP-over-TCP: A Practical, Skeletal "How To"
Copyright (C) 1999-2004 James S. Seymour
This information is free; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This work is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You may have received a copy of the GNU General Public License
along with this work; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
An on-line copy of the GNU General Public License can be found
here.
Configuring UUCP-over-TCP: Server Side
First Time Only
Make sure /etc/services has "uucp" entries
uucp-path 117/tcp
uucp 540/tcp uucpd # uucp daemon
Start-up/Enable UUCP "Listener" service (/etc/inetd.conf)
Sun Solaris 2.x and BSD-derived (?) systems
uucp stream tcp nowait root /usr/sbin/in.uucpd in.uucpd
Linux (without BSD "uucpd")
uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico -l
Kick inetd in the pants with a SIGHUP.
Create TCP "Devices" Entry (optional?)
If the server's not going to be initiating UUCP conversations,
this might not be strictly necessary. Included for completeness.
Sun Solaris 2.x: /etc/uucp/Devices
TCP,et - - Any TCP -
Linux: /usr/lib/uucp/Devices
TCP uucp - -
Figure-out MTA routing/transport requirements
MTA-specific: To Be Done?
Per-Account
Create client host account
. Sun Solaris 2.x and other Unix systems where UUCP uses standard
/etc/passwd and /etc/shadow, or other authentication mechanism.
Create "user" account for client host. Account should have
unique uid. Group i.d. should be "uucp". "Shell" should be
"uucico". Home directory is normally something like
/var/spool/uucp/<client> or /var/spool/uucppublic/<client>.
E.g.:
client:x:1234:5:UUCP Login:/usr/spool/uucppublic/client:/usr/lib/uucp/uucico
. Taylor UUCP
Create UUCP-specific password entry in /etc/uucp/passwd in the
form:
client password
The password is in clear text! Not encrypted.
This file must be owned by uucp (probably not a bad idea to
make it group "root") and *must* be permissions 600.
The /etc/uucp directory should *not* be readable except by
user "uucp".
Note: You can also create a normal user account as under
"Sun Solaris 2.x ...", above, but it's not necessary for
just a UUCP login. May even be undesirable.
Create UUCP configs
Permissions (HDB-style UUCP)
Sun Solaris 2.x: /etc/uucp/Permissions
Linux: /usr/lib/uucp/Permissions
LOGNAME=<client> MACHINE=<client> MYNAME=<server> \
COMMANDS=rmail \
SENDFILES=yes REQUEST=no
Systems
Note that the "<password>" below is the password assigned the
server on the client's host. These are in clear text! So make
absolutely sure this file is not readable by other than user
"uucp"!
Solaris 2.x: /etc/uucp/Systems
<client> Never TCP uucp - ogin:--ogin: <server> word: <password>
Linux: /usr/lib/uucp/Systems
<client> Never TCP - <client> ogin:--ogin: <server> word: <password>
If the server is not expected to initiate UUCP
conversations (i.e.: log into the client), there will
probably be no valid password. I'm not sure how much,
if any, of the expect-send chat string the UUCP system
may expect. Maybe none. You can always put a dummy
password string here.
Add/configure client routing/transport in MTA
MTA-specific: To Be Done?