zoukankan      html  css  js  c++  java
  • tftp

    Ubuntu 12.04 tftp 设置

    1sudo apt-get install tftp-hpa tftpd-hpa

    2、修改/etc/default/tftpd-hpa

    TFTP_USERNAME="tftp"

    #指定tftp服务的共享目录

    TFTP_DIRECTORY="/tftpboot"

    TFTP_ADDRESS="0.0.0.0:69"

    TFTP_OPTIONS="-l -c -s"

    3、建立tftp服务文件目录

    sudo mkdir /tftpboot

    sudo chmod 777 /tftpboot -R

    4、重新启动tftp

    sudo /etc/init.d/tftpd-hpa restart

    查看是否启动

    service tftpd-hpa status

    5、测试端口

    netstat -an | grep udp | grep 69

    会输出udp 0 0 0.0.0.0:69 0.0.0.0:*

    6、本地测试

    ryoma@smartphone:~$ tftp localhost

    tftp> get tiger.c

    tftp> put u-boot.bin

    tftp> q

    7、重启测试

    发现不可使用,方法

    方法1 安装xinetd

    sudo apt-get install xinetd

    各种重启,或者直接重启电脑

     

    方法2

    ryoma@smartphone:~$ service tftpd-hpa status

    tftpd-hpa start/running

     

    没有进程号

    netstat -an | grep udp | grep 69

    69号端口也没打开

    因此调用命令:

    sudo /etc/init.d/tftpd-hpa restart

    再次测试

    ryoma@smartphone:~$ service tftpd-hpa status

    ryoma@smartphone:~$ tftpd-hpa start/running, process 3199

    netstat -an | grep udp | grep 69

    udp 0 0 0.0.0.0:69 0.0.0.0:*

    ryoma@smartphone:~$ tftp localhost

    tftp> put u-boot.bin

    tftp> get tiger.c

    tftp> q

    以下是一篇网上的文章片段,可以参考下:

    linux下,不管使用的是哪一种super-serverinetd或者xinetd,默认情况下TFTP服务是禁用的,所以要修改文件来开启服务。

    根据(1)的安装方法,可以修改文件/etc/xinetd.d/tftp。主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:

    service tftp

    { socket_type =dgram

    protocol =udp

    wait =yes

    user =root

    server =/usr/sbin/in.tftpd

    server_args =-s /home/lqm/tftpboot -c

    disable =no

    per_source =11

    cps =100 2

    flags =IPv4

    }

    说明:修改项server_args= -s <path> -c,其中<path>处可以改为你的tftp-server的根目录,参数-s指定chroot-c指定了可以创建文件。

    3. 创建tftp根目录,启动tftp-server

    #mkdir /home/lqm/tftpboot

    #chmod o+w /home/lqm/tftpboot

    #service xinetd restart

    这样,tftp-server就启动了。你可以登陆本机测试以下,命令如下:

    #tftp <your-ip-address>

    tftp>get <download file>

    tftp>put <upload file>

    tftp>q

    #

    安装过程中出现的问题及原因

    现象一:

    tftp> get test.log

    Transfer timed out.

    原因:

    tftpd服务没有启动


    现象二

    tftp> put test2

    Error code 0: Permission denied

    原因:

    运行命令,查看系统日志

    tail /var/log/messages

    发现有如下一段文字:

    Mar 24 19:05:26 localhost setroubleshoot: SELinux is preventing /usr/sbin/in.tftpd (tftpd_t) "write" to tftpboot (tftpdir_t). For complete SELinux messages. run sealert -l 40a5a6bf-8ded-4bfa-ab6e-fa669a25fc6c

    知道这是是由SELinux造成的,在FC3FC3以后的FC版本中SELinux默认的都是开启的,现关掉它,修改文件 /etc/sysconfig/selinux,设定其中的

    SELINUX=disabled

    然后重启电脑即可

    或者执行命令 system-config-securitylevel 打开 “安全级别配置”对话框,将SELinuxS)选项中 “强制” 改为“允许”。

     

    现象三:

    tftp> put ex070416.log

    Error code 1: File not found

    原因:

    指定的文件不存在;或tftpd启动参数中没有指定-c选项,允许上传文件

     

     

    现象四:

    tftp> get test.log

    Error code 2: Only absolute filenames allowed

     

    原因:

    /etc/xinetd.d/tftpd中设置的server_args/etc/default/tftpd-hpa

    cat /etc/default/tftpd-hpa

    #Defaults for tftpd-hpa

    RUN_DAEMON="no"

    OPTIONS="-s /home/tftpd -c -p -U 077 -u tftpd"

    设置的时候只要将server_args=改为你自己设定的服务器文件夹就行了

     


     

  • 相关阅读:
    75.Java异常处理机制-自定义异常
    75.Java异常处理机制-手动抛出异常
    75.Java异常处理机制throws
    mybatis的xml文件中如何处理大小于号
    JS 拼装代码的HTML onClick方法传递字符串
    Java 日期往后推迟n天
    MySql 去重且指定某字段在前的排序方法
    java运行内存分配图(转)
    Java中正则Matcher类的matches()、lookAt()和find()的区别<转>
    图片在父元素中上下居中(vertical-align的有效性)
  • 原文地址:https://www.cnblogs.com/openix/p/3518978.html
Copyright © 2011-2022 走看看