Ubuntu下配置tftp服务
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服务的更多相关文章
- [转]Ubuntu下配置NFS服务
[转]Ubuntu下配置NFS服务 http://blog.163.com/liu8821031%40126/blog/static/111782570200921021253516/ Table ...
- Ubuntu安装配置TFTP服务
tftpd-hpa 是一个功能增强的TFTP服务器.它提供了很多TFTP的增强功能,它已经被移植到大多数的现代UNIX系统. 1.安装 sudo apt-get install tftpd-hpa t ...
- Ubuntu下配置NFS服务
Table of Contents 1.下载相关软件 2.建立共享目录 3.修改该配置文件 4.重启服务 5.测试服务器 6.测试客户端 测试系统:Ubuntu8.04 1.下载相关软件 使用如下命令 ...
- Ubuntu 下配置 SSH服务全过程及问题解决
Windows下做Linux开发,装虚拟机里,怎么可以不用SSH呢.有人说,“做Linux开发,还不直接装机器上跑起来了,还挂虚拟机,开SSH……闲的蛋疼了吧”,不管怎样,我接触Linux算是3年了, ...
- Ubuntu 下配置ftp服务端
安装sudo apt-get install pure-ftpdsudo netstat –ano | grep “21”查看21端口是否已开启.完成安装后,就可以用Ubuntu系统的用户名和密码登陆 ...
- ubuntu下配置ProFtpd服务使用sqlite3作为后端用户认证
个人机器需要开个文件共享,Linux机器懒得配置SMB,就直接安装了ProFtpd,以做FTP服务器 Ubuntu安装挺简单,可使用就不那么友好了,配合GAdmin-Proftpd,一样不好用. 首先 ...
- ubuntu配置tftp服务
ubuntu配置TFTP服务: TFTP是用来下载远程文件的最简单的网络协议,基于UDP协议.xinetd是新一代的网络守护进程服务程序,经常用于管理多种轻量型internet服务. sudo apt ...
- 【教程】ubuntu中配置tftp
1. 安装 tftpd ( tftp 服务器). tftp ( tftp 客户端)以及 xinetd (超级服务器) 1. 安装 tftpd ( tftp 服务器). tftp ( tftp 客户端) ...
- Ubuntu下配置python完成爬虫任务(笔记一)
Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...
随机推荐
- 手势识别官方教程(6)识别拖拽手势用GestureDetector.SimpleOnGestureListener和onTouchEvent
三种现实drag方式 1,在3.0以后可以直接用 View.OnDragListener (在onTouchEvent中调用某个view的startDrag()) 2,onTouchEvent() ...
- 【HDOJ】1709 The Balance
母函数,指数可以为1也可以为-1,扩大指数加消减发现TLE,于是采用绝对值就过了. #include <stdio.h> #include <string.h> #define ...
- 【HDOJ】1230 火星A+B
个人觉得这道题没那么水,wa了几次,才发现自己居然没有给srcb数组reset,打错了.搞死啊. #include <stdio.h> #include <string.h> ...
- hdu4648Magic Pen 6
http://acm.hdu.edu.cn/showproblem.php?pid=4648 求连续的一段和对m取余为0 若s[j]和s[i]对M的余数都相同 则相见就满足要求 找个最长的 #inc ...
- cogs_14_搭配飞行员_(二分图匹配+最大流,网络流24题#01)
描述 http://cojs.tk/cogs/problem/problem.php?pid=14 有一些正飞行员和副飞行员,给出每个正飞行员可以和哪些副飞行员一起飞.一架飞机上必须一正一副,求最多多 ...
- JAVA与.NET的相互调用——利用JNBridge桥接模式实现远程通讯
分布式开发的历史 利用Remote方式调用远程对象实现服务器与客户端之间通讯是一种常用的网络开发方式,在.NET与JAVA开发当中,对Remote远程对象早已有着足够的支持(对Remote远程对象调用 ...
- ArcSDE 10.1安装、配置、连接 (SQL Server 2008)
转自:http://blog.csdn.net/esrichinacd/article/details/8510224 1 概述 ArcSDE 10.1的安装配置相较于ArcSDE 10.0和之前版 ...
- html总结----------------------看这个就够了
HTML是我们学习Javaweb的第一步 很好地掌握门课是非常有必要的!下面就是我在听资深老师讲课的笔记!个人觉得非常不错!希望可以帮助到那些在学习javaweb路上的 朋友们!从今天 陆续的整理这门 ...
- 【原】Spark Standalone如何通过start-all.sh启动集群
1.start-all.sh脚本分析 图1 start-all.sh部分内容 我们可以从start-all.sh脚本源文件中看到它其实是start-master.sh和start-slaves.sh两 ...
- HDOJ-ACM1006(JAVA)
题意:输入一个角度degree,求出一天中时针分针秒针之间的角度大于这个角度degree的时间占一天总时间的比例 因此输入是0-120度, 输出比例,保留三位小数,-1为终止 暂时没想出来如何做这道题 ...