|
|
To configure tftpd, you will edit two files: the services file, which
lists the individual services that comprise the suite of Internet Services,
and the inetd configuration file, which informs the Internet daemon
about running tftpd on this system. These tasks are explained in the
next sections.
Editing the Services File
The services file associates official service names and aliases with the port
number and protocol the services use. To enable tftpd, you must
update the services file. Perform the following:
- Open the services file with an MPE text editor. You may edit the
/etc/services file from the POSIX shell or the
SERVICES.NET.SYS file from MPE/iX, whichever you prefer. Both
names should point to the same file.
- Verify that the following line exists in the file or add it if it does
not:
tftp 69/udp # Trivial File Transfer Protocol
- If the line already exists in the file and it is preceded by a pound
symbol (#), delete the symbol and any spaces before the service
name to enable the service.
- Save the file and exit the editor program.
Adding TFTP Service to inetd Configuration
The configuration file for inetd determines which installed Internet
Services are available to users. To add tftpd to your system, you
will need to edit this configuration file, then have inetd re-read
the configuration. To do so:
- Open the inetd configuration file with a text editor. You may
edit the /etc/inetd.conf file from the POSIX shell or the
INETDCNF.NET.SYS file from MPE/iX, whichever you prefer. Both
names point to the same file.
- Verify that the following line exists in the file or add it if it does
not:
tftp dgram udp wait USER.TFTP /SYS/NET/TFTPD tftpd
- If the line already exists in the file and it is preceded by a pound
symbol (#), delete the symbol and any spaces before the service
name to enable the service.
- Save the file and exit the editor program.
There are two options in the tftpd entry, [user] and
[path], which are explained in the next two sections. For more
detailed information about editing the configuration file, read
Chapter 2 "Internet Daemon"
Specifying the TFTP User
The Internet daemon runs tftpd as the user specified in the
[user] parameter of its entry in the inetd configuration
file. For example, this entry instructs inetd to run the
TFTP server as USER.TFTP:
tftp dgram udp wait USER.TFTP /SYS/NET/TFTPD tftpd
Hewlett-Packard recommends that you run tftpd this way, and that you
use the following steps to create the TFTP account and two user
identifications, USER.TFTP and MGR.TFTP, with the
appropriate capabilities:
- If necessary, log onto the system as MANAGER.SYS or to another
user identity that has been assigned SM capability.
- Create the TFTP account by entering the following command at the
CI prompt:
:NEWACCT TFTP,MGR;CAP=AM,PH,DS,ND,SF,IA,BA
- Create the new user of the TFTP account with a home directory of
TFTPDIR by entering the following command at the CI prompt:
:NEWUSER USER.TFTP;cap=BA,PH,DS;home=TFTPDIR
When a client accesses tftpd it will first look for the file in
the home group TFTPDIR.
- Create the home directory TFTPDIR by entering the following
command at the CI prompt:
:NEWGROUP TFTPDIR.TFTP
- Modify the new manager of the TFTP account by entering the
following command at the CI prompt:
:ALTUSER MGR.TFTP;cap= PH,DS,ND,SF,IA,BA
For security reasons, USER.TFTP is not assigned ND, SF, PM or SM
capabilities. This way USER.TFTP can be used to run tftpd
while MGR.TFTP, who is assigned some of these capabilities, can
control which files are placed in the TFTPDIR group.
Specifying a Search Path
As an option, you can use the [path] parameter in the inetd
configuration file entry to specify the list of files or directories that are
available to TFTP clients. For example, if you would like to have the
/tmp and /bin directories available to TFTP clients
in addition to the home group of the TFTP user, edit the line to look
like this:
tftp dgram udp wait USER.TFTP /SYS/NET/TFTPD tftpd /tmp /bin
When a file is requested by a TFTP client, tftpd first looks
for a file relative to the home directory of the user specified in the
inetd configuration file. If it does not find the file there, it then
checks to see if the following two conditions are met:
- File requested is at or below [path].
- User specified in the inetd configuration file (in the previous
examples, USER.TFTP) has access to the file.
When invoked with no path arguments, tftpd cannot follow symbolic
links that refer to paths outside of the home directory of the user specified
in the inetd configuration file.
Permission to Retrieve Files
If permission is given to remote systems to retrieve a file through
TFTP, then the file must be readable by the user specified in the
inetd configuration file. If permission is given to remote systems to
transmit a file through TFTP, then the file must already exist and be
writable by the user specified in the inetd configuration file.
|