Chinaunix首页 | 论坛 | 博客
  • 博客访问: 302246
  • 博文数量: 78
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 572
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-26 09:59
文章分类

全部博文(78)

文章存档

2015年(8)

2014年(70)

我的朋友

分类: 嵌入式

2014-01-08 19:01:41

第1步:
安装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文件夹(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 ont-size: 12pt; "> # log_type = SYSLOG daemon info   
}   
includedir /etc/xinetd.d  

第3步:
配置tftp服务器
  命令:
sudo vim /etc/default/tftpd-hpa
  将内容修改成
# /etc/default/tftpd-hpa 
    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/var/tftp"                          
#这是你tftp服务器的工作目录,自行修改,注意,在新建工作目录时,最好修改其权限为777,命令sudo chmod 777 /tftpboot
    TFTP_ADDRESS="0.0.0.0:69"
    TFTP_OPTIONS="-l -c -s" 

第4步:
然后进入xinetd.d文件夹(cd xinetd.d),查看是否有一个tftp文件,如果没有就新建一个,如果有的话就查看内容是否与下面的一致,不一致则修改,内容如下:
service tftp
    {
       socket_type = dgram
       wait = yes
       disable = no
       user = root
       protocol = udp
       server = /usr/sbin/in.tftpd
       server_args = -s /var/tftp
       #log_on_success += PID HOST DURATION
       #log_on_failure += HOST
       per_source = 11
       cps =100 2
       flags =IPv4
    }
其中server_args一行是配置服务器的文件存放的位置,就是进行tftp传输的时候,都是从该文件夹中搜索文件的

第5步:
修改所需文件夹的权限。需要修改的文件夹也就是上一步提到的那个服务器文件存放的文件夹,以我的配置文件为例,创建一个文件夹(sudo mkdir /var/tftp ),然后把它可以设置成访问权限最宽松的(sudo chmod 777 /var/tftp ),也可以设置成合适的权限。

第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
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart

第7步:
通过tftp的get和put进行测试:
$ tftp localhost ($代表一般用户下)
tftp> get xx
tftp> put yy  
一切看起来好像都很顺利,个就是测试不成功。甚至将iptables关闭了也无济于事! $ sudo iptables -F

正确的配置方法如下: 
1、安装:tftp-hpa,tftpd-hpa,xinetd 

2、配置/etc/default/tftpd-hpa,内容如下: 
# /etc/default/tftpd-hpa 
TFTP_USERNAME="tftp" 
TFTP_DIRECTORY="/var/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -c" 
 
说明:第二项改成你自己定义的tftp工作目录路径;第四项添加一个“-s”参数以便运行执行put操作(--secure等同于-s; -c等同与--create)  
3、设置工作目录/var/tftp权限 $ sudo chmod -R 777 /var/tftp  
4、重新启动服务 
$ sudo /etc/init.d/tftpd-hpa restart  
5、通过tftp的get和put进行测试: $ tftp localhost tftp> get xx tftp> put yy 
 
一切工作的又如从前了... 

阅读(3796) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~