Ubuntu下配置tftp服务

1.安装TFTP软件

sudo apt-get install tftp-hpa tftpd-hpa

tftp-hpa是客户端,tftpd-hpa是服务器端

2.建立tftpboot目录,作为服务器的目录
sudo mkdir ~/tftpboot
释放权限:(服务器目录,需要设置权限为777,chomd 777)
sudo chmod 777 ~/tftpboot

3.配置TFTP服务器

sudo gedit /etc/default/tftpd-hpa

将原来的内容为:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
#TFTP_DIRECTORY="/var/lib/tftpboot"  #修改为自己需要的路径,与上面创建的目录一致
TFTP_ADDRESS="0.0.0.0:69"
#TFTP_OPTIONS="--secure"  #可以通过查看mantftpd,看各种参数的意义

#修改为

TFTP_DIRECTORY="/home/shenhao/tftpboot"

TFTP_OPTIONS="-l -c -s"

3.重新启动TFTP服务

sudo service tftpd-hpa restart

4.测试下

$ cd ~/tftpboot echo "hello tftp service">>a.txt

$ echo "hello tftp service,put to tftp serive">>b.txt

$ tftp localhost

tftp> get a.txt

tftp> put b.txt

tftp> quit

其中get是取得文件,put是将文件上传到TFTP服务器上。

-----------------------------------------------------------------------

Ubuntu 10.10安装配置tftp服务

作者:邓雪峰,华清远见嵌入式学院讲师。

最近在讲解ubuntu 10.10相关的基础课程的时候,课堂上给同学们讲过了tftp相关的配置,虽然相关的配置很简单的几步就可以实现tftp服务的配置,但是同学在下课做 实验的过程中遇到了很多问题,因此,在网上仔细找了一下原因,现把tftp配置过程及相关的配置及容易出现的错误总结一下。

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。它基于UDP协议而实现。

在我们的使用过程中,我们的TFTP服务是利用xinetd进程起动的,所以下面先看一下xinetd 的介绍:xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。经常用来管理多种轻量级Internet服务。 xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。

一般来说,我们如果启动tftp服务,只要做如下的配置就可以了:

1、编辑/etc/xinetd.d/tftp文件,本文件为xinetd对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
        }

一般来说,在这个配置文件中,我们要注意的就是对tftp服务器共享目录的设置,也就是server_args=-s /tftpboot这一行,我们可以看到这行有个参数-s,那么对这个配置还有几个相关的参数,现介绍一下:

-l 使用standalone模式运行,此模式下,将会忽略-t选项
        -a address:port 在standalone模式下服务所在的IP与端口,如果不指定,则在本机所有IP,/etc/service中指定的port上侦听连接
        -c 允许在服务器上新建文件,否则只允许更新现有的文件。如果未指定-U或-p选项,则允许任何人上传文件
        -s directory 服务器端默认的目录,默认为/var/lib/tftpdboot
        -u username tftp服务以什么身份运行,默认是nobody,一般可以新建一个tftp的账号来运行
        -U umask 上传文件的掩码,如果未指定-p则为000,如果指定了-p,则采用指定的umask
        -p 对于通过-u指定的用户执行的动作,不做额外的权限检查

2、创建共享目录

按照上一步中配置的目录,创建tftp服务共享目录步骤如下:

cd /
        sudo mkdir tftpboot
        sudo chmod –R 777 tftpboot
        cd /tftpboot
        sudo touch test
        chmod 777 test

在本步骤中,创建了一个tftpboot的目录,并在目录下创建了一个名为test的文件用来测试,把他们的权限均改为777以备使用。

3、启动tftp服务

我们的tftp服务此时是利用xinetd进程起动的,故启动命令如下:

sudo /etc/init.d/xinetd restart

4、测试tftp服务

可以 利用ifconfig eth0查看本机IP地址后利用tftp连接至本机的tftp服务器,但是如果想在本机上测试可以利用127.0.0.1地址来测试以上步骤是否成功:

tftp 127.0.0.1
        tftp>get test
        Received 1018 bytes in 0.1 seconds
        tftp>quit

此时如果在当前目录下发现test文件,则tftp服务已经正确运行。

但是,在保证以上步骤没有误操作的情况下,有些同学虽然配置运行都没有问题了,到最后获取文件的时候会出现问题,主要会出现以下两个提示:(下面是我在网上找到的解决办法)

1:如果出现permission denied 错误 则是操作者权限不够,需要提升权限

su root

输入密码后就可以正常进行tftp传输操作了

2:如果出现Access violation错误 则是文件权限没有解开,

将要操作的文件操作权限全解开就可以了

chmod 777 文件名

第一个错误一般来说按照上面的办法都可以修正,但是第二个错误按照以上方法修改后如果还是出现的话,可以看看下面的这个文件/etc/inetd.conf,然后在其中找到这样的一行:

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

要把最后一个参数改成我们自己设置的tftp共享目录就可以了,即:

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

Ubuntu下配置tftp服务的更多相关文章

  1. [转]Ubuntu下配置NFS服务

    [转]Ubuntu下配置NFS服务  http://blog.163.com/liu8821031%40126/blog/static/111782570200921021253516/ Table ...

  2. Ubuntu安装配置TFTP服务

    tftpd-hpa 是一个功能增强的TFTP服务器.它提供了很多TFTP的增强功能,它已经被移植到大多数的现代UNIX系统. 1.安装 sudo apt-get install tftpd-hpa t ...

  3. Ubuntu下配置NFS服务

    Table of Contents 1.下载相关软件 2.建立共享目录 3.修改该配置文件 4.重启服务 5.测试服务器 6.测试客户端 测试系统:Ubuntu8.04 1.下载相关软件 使用如下命令 ...

  4. Ubuntu 下配置 SSH服务全过程及问题解决

    Windows下做Linux开发,装虚拟机里,怎么可以不用SSH呢.有人说,“做Linux开发,还不直接装机器上跑起来了,还挂虚拟机,开SSH……闲的蛋疼了吧”,不管怎样,我接触Linux算是3年了, ...

  5. Ubuntu 下配置ftp服务端

    安装sudo apt-get install pure-ftpdsudo netstat –ano | grep “21”查看21端口是否已开启.完成安装后,就可以用Ubuntu系统的用户名和密码登陆 ...

  6. ubuntu下配置ProFtpd服务使用sqlite3作为后端用户认证

    个人机器需要开个文件共享,Linux机器懒得配置SMB,就直接安装了ProFtpd,以做FTP服务器 Ubuntu安装挺简单,可使用就不那么友好了,配合GAdmin-Proftpd,一样不好用. 首先 ...

  7. ubuntu配置tftp服务

    ubuntu配置TFTP服务: TFTP是用来下载远程文件的最简单的网络协议,基于UDP协议.xinetd是新一代的网络守护进程服务程序,经常用于管理多种轻量型internet服务. sudo apt ...

  8. 【教程】ubuntu中配置tftp

    1. 安装 tftpd ( tftp 服务器). tftp ( tftp 客户端)以及 xinetd (超级服务器) 1. 安装 tftpd ( tftp 服务器). tftp ( tftp 客户端) ...

  9. Ubuntu下配置python完成爬虫任务(笔记一)

    Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...

随机推荐

  1. 《深入理解linux内核》第三章 进程

    进程的七种状态 在内核源码的 include/linux/sched.h文件中: task_struct的status可表示 #define TASK_RUNNING 0 #define TASK_I ...

  2. 多核CPU怎么理解

    简而言之,双核处理器即是基于单个半导体的一个处理器上拥有两个一样功能的处理器核心.换句话说,将两个物理处理器核心整合入一个核中.企业IT管理者们也一直坚持寻求增进性能而不用提高实际硬件覆盖区的方法.多 ...

  3. 可否控制<link type=text/css rel=stylesheet href=style.css>

    本篇文章主要介绍了"可否控制<link type=text/css rel=stylesheet href=style.css> ", 主要涉及到可否控制<lin ...

  4. C# SerializableDictionary序列化/反序列化

    说明:Dictionary对象本身不支持序列化和反序列化,需要定义一个继承自Dictionary, IXmlSerializable类的自定义类来实现该功能.感觉完全可以把这样的类封装到C#库中,很具 ...

  5. VJP1100 加分二叉树(树形DP)

    链接 归属树形DP  做着更像记忆化 DP很好做 就是那个输出路径恶心了..改代码 从60多行改到120多行..dp从1维加到三维.. 先类似记忆化搜索整棵树 枚举以i为根节点的最大值 子树类似 求完 ...

  6. E212: 不能以写入模式打开 linux

    跟大家讲解下事情发生的情况 背景:linux下有多个用户     每个用户有自己的密码   还有root用户 事由:我用zhengdengping用户登录    想去拷贝点 用户 lixianchu ...

  7. cat ,more, Less区别

    使用cat more less都可以查看文本内容,但是它们三者有什么区别呢?more和less的功能完全重复吗?以下是我个人的总结,欢迎大家一起来分享 cat        连续显示.查看文件内容mo ...

  8. bzoj3796

    好像已经很久没有做后缀数组的题目,导致这种题一开始没想出来看到公共子串肯定想到后缀数组吧,但我都忘了最长公共子串怎么求了重要的性质:最长公共子串=max(h[i])名次相邻的两个后缀要分别属于s1,s ...

  9. c#基础这些你都看过吗?(一)-----仅供初学者使用

    1.注释(不写注释是流氓,名字瞎起是扯淡)‘///’一般用于注释函数,注释类.2.快捷键ctrl+k+d(有语法错误无法进行对齐)ctrl+j(快速弹出只能提示)shift+end,shift+hom ...

  10. PHP 'ext/gd/gd.c'信息泄漏漏洞

    漏洞版本: PHP 5.5.x 漏洞描述: CVE ID:CVE-2014-2020 PHP是一种HTML内嵌式的语言. PHP 'ext/gd/gd.c'没有检查数据类型,允许远程攻击者使用字符串或 ...