ubuntu安装tftp server

ubuntu安装tftp server

 

1、安装相关软件包
apt-get install tftpd (服务端)
apt-get install tftp (客户端)
apt-get install xinetd

2、建立配置文件

cd /etc/xinetd.d/
vitftp                            (/etc/xinetd.d/tftp配置文件)

输入

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

存盘退出。

3、建立tftp服务文件目录

cd /
         sudo mkdir tftpboot     建立文件夹
         sudo chmod 777 tftpboo 更改文件夹权限

 

          cd /tftpboot
          sudo touch  aaa
          sudo chmod 777  aaa

 

4、从新启动服务

/etc/init.d/xinetd restart

安装完成!测试方法:

在/tftpboot 目录下随便放个文件abc,然后运行tftp192.168.123.202 进入tftp命令行,输入getabc看看是不是能把文件下下来,如果可以就可以了,也可以put文件上去。

 

到此为止 应该可以了。

********************************************************************************************

 

Ubuntu中有三个tftp服务器:atftpd,tftpd,hpa;

安装hpa过程:

自建tftp目录:sudo mkdir /home/tftp

修改目录属性:sudo chmod 777 /home/tftp

tftpd-hpa是一个功能增强的TFTP服务器。它提供了很多TFTP的增强功能,它已经被移植到大多数的现代UNIX系统。  

安装
使用下面的命令来安置 tftpd-hpa 服务器:

 $ sudo apt-getinstall tftpd-hpa
注:若server未安装xinetd则在Ubuntu9.04中会自动下载openbsd-inetd并安装,使用tftp过程中出错很多时候是因xinetd版本问题;

配置
tftp-hpa 的配置文件为 /etc/default/tftpd-hpa

 RUN_DAEMON="no"
 OPTIONS="-l -c -s/tftpboot"  
-c为可创建新文件,若无此参数,put命令则可能出现错误提示,此时只能复盖原有文件不能创建新文件;
无论何种方式配置tftp-server -c参数决定是否能正常写入数据;这里指定 tftpd 使用的目录为/tftpboot,注意要修改目录属性:chmod 777 tftpboot

启动和停止
启动
 # /etc/init.d/tftpd-hpa start
停止
 # /etc/init.d/tftpd-hpa stop

(若无xinetd下载tftpd-hpa包过程中会自动下载openbsd-inetd并安装,其它资料中使用xinetd出现错误主要是xinetd版本的问题)

正常安装完成后编辑/etc/default/tftpd-hpa文件:

#Defaults for tftpd-hpa

RUN_DAEMON="yes" #默认为"no",tftp不能启动;

OPTIONS="-l -c -s /home/tftp"

#/home/tftp为你设定目录,-c可创建新文件,在很多资料中执行的命令或配置tftp文件中都缺少-c这个参数,如:sudoin.tftpd -l -c -s /home/tftp,put命令会出错提示;

启动:sudo /etc/init.d/tftpd-hpa start

校验:ps -A|grep tftp

修改/home/tftp目录权限则可正常操作了;

删除服务:sudo apt-get remove tftpd-hpatftp-hpa --purge

选项参考

OPTIONS

-l Run the server in standalone(listen) mode, rather than run from

inetd. In listen mode, the -t option isignored, and the -a

option can be used to specify aspecific local address or port

to listen to.

-a [address][:port]

Specify a specific address and port tolisten to when called

with the -l option. The default is tolisten to the tftp port

specified in /etc/services on all localaddresses.

listen 的 ip address 和 Port

-c Allow new files to be created. Bydefault, tftpd will only

allow upload of files that alreadyexist. Files are created

with default permissions allowinganyone to read or write them,

unless the -p or -U options arespecified.

-s (决定tftp根目录)Change root directory onstartup. This means the remote host

does not need to pass along thedirectory as part of the trans-

fer, and may add security. When -s isspecified, exactly one

directory should be specified on thecommand line. The use of

this option is recommended for securityas well as compatibility

with some boot ROMs which cannot beeasily made to include a

directory name in its request.

*****************************************************************************************

 

 

这段时间在弄三星的2440的移植,用到了tftp,我用的是ubuntu9.04,在网上看到了很多文章,但是发现很多文章讲的都很模糊,或者根本就是错的,只好自己琢磨,走了很多弯路,费牛劲终于弄出来了,为了避免同行和我一样走弯路,特把我的一些总结贴出来和大家共享,有什么不对的地方希望大家指正,大家有什么问题也可以一起探讨一下。


ubuntu 9.04下tftp 设置方法:


     1:sudo apt-get install tftp tftpd openbsd-inetd
           特别指出很多文章里用的是netkit-inetd,但是实际下载时发现
           这个软件是下不到的,特改用openbsd-inetd,实验效果不错。


     2:在根目录下创建文件夹 tftpboot
         cd /
         sudo mkdir tftpboot     建立文件夹
         sudo chmod 777 tftpboo更改文件夹权限


     3: sudo gedit /etc/inetd.conf  修改成如下样子

         tftp  dgram   udp   wait   nobody   /usr/sbin/tcpd   
         /usr/sbin/in.tftpd   /tftpboot



     4: sudo gedit /etc/xinetd.d/tftp 修改成如下样子(如果没有tftp文件就创建它)

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



      5: sudo gedit /etc/default/tftpd-hpa 修改成如下样子

           RUN_DAEMON="no"

           OPTIONS="-s /tftpboot -c-p -U tftpd"


      6:sudo /etc/init.d/openbsd-inetd reload  
        sudo /etc/init.d/xinetd restart
        sudo in.tftpd -l /tftpboot

      7: 在tftpboot文件夹下新建测试文件 aaa

          cd /tftpboot
          sudo touch  aaa
          sudo chmod  777  aaa


      9: 开始测试tftp服务
          cd  /home
          tftp  192.168.1.111
          get  /tftpboot/aaa
          如果没有出现错误代码且在home目录下出现aaa文件则证明tftp
          服务建立成功


注意: 1:如果出现permission denied 错误  则是操作者权限不够,
               需要提升权限
               su  root
               输入密码后就可以正常进行tftp传输操作了

         2:如果出现Accessviolation错误则是文件权限没有解开,
               将要操作的文件操作权限全解开就可以了
               chmod 777 文件名

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值