您的位置:首页 > 编程语言 > PHP开发

ubuntu 配置 tftp 服务器

2016-08-28 11:48 232 查看
 

 注意:

    1./tftpboot为根目录

    2.已经是root权限不用再加sudo(临时获取权限)

    3.使用netstat -au | grep tftp,保证tftp是启动的。

    出现“udp    0   0 *:tftp        *:*”则说明tftp服务已经开启。

    4.可能出现:TFTP error: 'Permission denied' (0),权限问题。

    5.传输超时,没启动tftp,执行:sudo /etc/init.d/xinetd restart

 

 第 1 步:安装 tftp(Trivial File Transfer Protocol,简单文件传输协议)

 安装 tftp 所需的软件。首先需要安装 tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序,

 在终端下输入 sudo apt-get install tftp-hpa tftpd-hpa,安装 tftp-hpa 和 tftpd-hpa。然

 后还需要安装 xinetd,在终端下输入 sudo apt-get install xinetd,安装好 xinetd。

 

 第 2 步:配置/etc/xinetd.conf

 配置相关服务文件。进入根目录下的 etc 文件夹(cd /etc/),首先看目录中有没有一个

 xinetd.conf 文件,如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致则

 修改,内容如下:

 # Simple configuration file for xinetd

 ##

 Some defaults, and include /etc/xinetd.d/

 defaults

 {#

 Please note that you need a log_type line to be able to use log_on_success

 # and log_on_failure. The default is the following :

 # log_type = SYSLOG daemon info

 }

 includedir /etc/xinetd.d

 第 3 步:配置/etc/default/tftpd-hpa

 配置 tftp 服务器

 命令:sudo vi /etc/default/tftpd-hpa

 

 将内容修改成

 # /etc/default/tftpd-hpa

 TFTP_USERNAME="tftp"

 TFTP_DIRECTORY="/tftpboot"

 TFTP_ADDRESS="0.0.0.0:69"

 TFTP_OPTIONS="-l -c -s"

 第 4 步:配置/etc/xinetd.d/tftp

 然后进入 xinetd.d 文件夹(cd xinetd.d),查看是否有一个 tftp 文件,如果没有就新建

 一个,如果有的话就查看内容是否与下面的一致,不一致则修改,内容如下:

 service tftp

 {

 socket_type = dgram

 wait = yes

 disable = no#no表示开启,yes表示关闭

 user = root

 protocol = udp

 server = /usr/sbin/in.tftpd

 server_args = -s /tftpboot     #根目录创建的tftpboot

 #log_on_success += PID HOST DURATION

 #log_on_failure += HOST

 per_source = 11

 cps =100 2

 flags =IPv4

 }

 其中 server_args 一行是配置服务器的文件存放的位置,就是进行 tftp 传输的时候,都是从

 该文件夹中搜索文件的*****(五星重要)

 第 5 步:修改权限

 修改所需文件夹的权限。创建一个文件夹(sudo mkdir /tftpboot),然后把它可以

 设置成访问权限最宽松的(sudo chmod 777 /tftpboot),也可以设置成合适的权限。

 第 6 步:重启服务

 重新启动服务。sudo service tftpd-hpa restart,这也是我经常疏忽的一步,当配置好 tftp 的配

 置文件后,需要重新启动一下 xinetd,在终端中输入 sudo /etc/init.d/xinetd reload,重新加载一

 下进程,再输入 sudo /etc/init.d/xinetd restart,重启服务。记住,每次修改完配置文件后,都需

 要重新启动一下服务。

 执行次序:

 sudo service tftpd-hpa restart

      //效果: stop: Unknown instance: tftpd-hpa start/running

 sudo /etc/init.d/xinetd reload

      //效果: * Reloading internet superserver configuration xinetd      [ OK ]

 sudo /etc/init.d/xinetd restart

    //效果:  * Stopping internet superserver xinetd                              [ OK ]

                   * Starting internet superserver xinetd                                [ OK ]

总结: 通过以上四步就可以建立好tftp服务器了,可以在本地先进行一下测试。还是以我的配置文件为例,首先在/tftpboot中新建一个文件test,然后在其中随便输入内容(比如:this is a test);然后进使用“cd /”回到根目录,再在终端中输入 sudo tftp localhost,进入 tftp 命令符下,输入 get test(必须是在tftpboot下面的文件名),如果没有任何提示,就说明传输成功了,然后输入 q 退出 tftp 命令符,在当前目录下就可以看到一个 test 文件,内容是与开始新建的那个
test 的内容是一致的。同样也可以在 tftp 命令符中输入 put xx,把 xx 文件上传到服务器文件夹中。如果一 切 ok,那就么一个可用的 tftp 服务器就顺利搭建成功了。

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tftp ubuntu