ubuntu12.04 ubuntu14.04安装tftp,配置
1:安装服务,共3个服务
1 sudo apt-get install tftp-hpa tftpd-hpa xinetd
2:新建配置文件 /etc/xinetd.d/tftp
1 sudo vim /etc/xinetd.d/tftp
注意:如果不是root用户,则加sudo,否则系统不允许tftp,出现错误
"/etc/xinetd.d/tftp" E212: Can't open file for writing
修改/etc/xinetd.d/tftp内容为:
1 service tftp
2 {
3 disable = no
4 socket_type = dgram
5 protocol = udp
6 wait = yes
7 user = root
8 server = /usr/sbin/in.tftpd
9 server_args = -s /tftpboot -c
10 per_source = 11
11 cps = 100 2
12 }
注意:第九行中
server_args = -s /tftpboot -c
-c参数是允许上传用的,参数/tftpboot则是你的tftp目录,修改成你的目录即可,但是笔者建议在根目录下,方便
3:修改配置文件/etc/default/tftpd-hpa
1 sudo vim /etc/default/tftpd-hpa
修改为:
1 # /etc/default/tftpd-hpa
2 TFTP_USERNAME="tftp"
3 TFTP_DIRECTORY="/tftpboot " //改成你想要的那个tftpboot
4 TFTP_ADDRESS="0.0.0.0:69"
5 TFTP_OPTIONS="-l -c -s" //这里是选项
4:在根目录下新建tftpboot目录,并修改权限
1 mkdir /tftpboot
2 sudo chmod 777 -R /tftpboot
5:在/tftpboot中新建一个测试文件test
1 touch test
6:【重要】重启服务,修改配置文件的任何地方都要重启服务
1 sudo /etc/init.d/xinetd reload 2 sudo /etc/init.d/xinetd restart
注意1,2针对ubuntu12.04(only),
3 sudo service tftpd-hpa restart (need by ubuntu 14.04)
7:测试服务tftp是否启动
netstat -a|grep tftp
显示 :
udp 0 0 *:tftp *:*
则启动服务了
8:测试tftp
进入另一个目录【不是/tftpboot目录,比如用户jyg目录】
cd /home/jyg
测试如图:
9:出现错误:
【错误】Error code 0: Permission denied,是因为tftpboot文件夹没有权限,或者是要上传和下载的文件没有权限。
【解决】修改权限
sudo chmod 777 -R /tftpboot
【错误】Error code 1: File not found,原因1:指定的文件不存在;原因2:tftpd启动参数中没有指定-c选项;原因3:目录有问题,因为安装的时候默认的tftp目录是【/var/lib/tftpboot】,您可以把test文件放在这个目录中重新测试一下,如果正确说明猜想是正确的。
【解决】原因1和原因2都好解决,这里只解决原因3:重启服务或者重启系统