Friday, March 19, 2010

RedHat TFTP Settings

[Source]

TFTP服务器的配置(RedHat)
作者: TFTP 点击: 2167

Redhat Linux下tftp服务器配置其实很容易。现以RedHat 7.3为例说明。
1. 如何启动tftp服务?1
执行ntsysv命令,选中tftp服务,再执行service xinetd restart命令。tftp服务就启动了,容易吧。

2. 如何下载文件?
先分析一下tftp的配置文件。
打开/etc/xinetd.d/tftp文件,如下所示:

service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
}

这就是tftp的配置文件,其中,server_args = -s /tftpboot是tftp服务器运行时的参数。-s /tftpboot表示服务器默认的目录是 /tftpboot,当你执行put a.txt时,文件会被放到服务器的/tftpboot/a.txt,省去你敲put a /tftpboot/的麻烦。你也可以加其它服务器运行参数到这,具体可以执行man tftpd命令查阅。

要下载文件,执行如下命令:(下载文件的默认路径为/tftpboot)
>tftp
>get

3. 如何上传文件?
上传文件时,需要先把服务器上的/tftpboot目录和这个目录下的文件变成可读可写权限,如下命令所示:
>cd /
>chmod 777 tftpboot
>cd tftpboot
>chmod 777 *
(这里用777权限有些高,可以用666,不过无所谓)

上传文件用put命令,但是默认情况下,只能上传远程tftp服务器已有的文件,例如,在tftp服务器上有/tftpboot /a.txt这个文件,你可以执行
>put a.txt

将本地的a.txt文件上传上去并覆盖服务器上的原文件。所以这个时候要先在服务器上建一个同名文件,如下命令所示:
>cd /tftpboot
>touch a.txt
>chmod 666 *

如果想上传原来目录中没有的文件,需要修改tftp服务器的配置文件并重起服务,如下操作所示:
打开/etc/xinetd.d/tftp 文件,在 server_args 增加-c参数,如下所示:

service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
per_source = 11
cps = 100 2
}

存盘退出。
重起tftp服务,如下所示:
>service xinetd restart
可以了。现在就可以上传新文件了。

No comments: