烂泥:CentOS安装及配置TFTP服务器
为什么要学习有关TFTP服务器的安装及配置呢?主要是为了后续学习有关linux系统的无人值守安装做准备。
TFTP简单文件传输协议,使用UDP的69端口。主要提供文件的上传和下载,TFTP一般是适用于远程无盘设备启动,PXE启动以及路由器、交换机IOS的备份、恢复和升级等场合。
TFTP与FTP相比,TFTP不能列出目录的内容、不支持认证和加密机制、只支持UDP协议。
以上就是有关TFTP的相关特点,下面我们开始安装TFTP服务。
说明:在以后的博客中,我会尽量在Ubuntu系统中进行操作,尽量不在使用windows系统下远程连接linux的相关工具。
登录Ubuntu系统,在终端中输入以下命令。连链接远程的centos系统,如下:
ssh root@192.168.1.213

TFTP的软件包包括:tftp客户端、tftp-server服务器。先开始安装tftp客户端如下:
yum –y install tftp


现在开始安装tftp-server,如下:
yum –y install tftp-server


通过上图我们也可以看到在安装tftp-server时,同时也把xinetd服务进行了安装。而且根据上图提供的信息,我们也可以看出tftp服务的正常运行是依赖于xinetd服务的。
通过查询相关资料显示,tftp服务不像ftp服务那样有单独的服务进程,它是依赖于行xinetd服务来启动的。也就是说我们要查看tftp服务是否正常运行,直接查看xinetd服务即可
查看tftp及tftp-server安装后的相关文件,如下:
rpm –ql tftp
rpm –ql tftp-server

通过上图,我们可以看到tftp的运行文件位于/usr/bin/tftp,配置文件位于/etc/xinetd.d/tftp。
现在来修改tftp的配置文件,如下:
vi /etc/xinetd.d/tftp


通过上图我们可以看到,tftp的配置文件很简单。该配置文件,我们需要修改的内容只有一处disable=yes。把这项修改为no。
server_args表示tftp的目录,默认是在/var/lib/tftpboot目录下。此处可以进行自定义,也可以使用默认的目录。
修改完毕后的内容如下:

配置文件修改完毕后,我们现在来启动tftp服务。因为tftp服务是依赖于xinetd服务的,所以我们直接来启动xinetd服务即可。同时我们也可以通过查看tftp的69端口,看起是否正常运行,如下:
/etc/init.d/xinetd start
netstat -tunlp |grep 69

通过上图我们可以看出tftp已经正常启动,为了模拟真实的tftp环境,我们现在在tftp的目录下新建一个文件test_tftp.txt,如下:


现在开始使用客户端连接该tftp,在前文已经介绍过tftp包括客户端和服务端。我们先在客户端安装tftp的客户端,在此我们的客户端使用的是Ubuntu系统。Ubuntu系统安装tftp客户端,如下:
sudo apt-get –y install tftp

客户端安装完毕后,我们现在来连接tftp服务器并下载前文新建的文件test_tftp.txt。使用如下命令:
tftp 192.168.1.213
get test_tftp.txt

通过上图我们可以看到,我们已经顺利的从tftp服务器上下载了刚刚前文的文件test_tftp.txt。
现在我们在上传一个文件测试下,要测试tftp的上传功能,需要我们修改两处:tftp的配置文件和tftp目录的文件夹权限。
修改tftp配置文件,如下:
vim /etc/xinetd.d/tftp

注意server_args参数加入-c表示可以创建文件。
tftp配置文件修改完毕后,我们来修改tftp目录的文件夹权限。如下:

通过上图我们现在可以看到,目前tftp目录的文件夹权限为755。前文我们已经介绍过tftp不支持认证和加密机制,要具有上传权限的话,我们要把该目录的权限设置为777对所有人具有上传和下载权限,如下:
chmod 777 ./tftpboot/

以上全部修改完毕后,我们重启xinetd服务,如下:
/etc/init.d/xinetd restart

现在我们再来测试上传权限,使用put命令,如下:

有关tftp命令可以查看如下连接:http://linux.die.net/man/8/tftpd
至此有关TFTP服务器的安装及配置结束。
烂泥:CentOS安装及配置TFTP服务器的更多相关文章
- 烂泥:centos安装及配置DNS服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 要在centos配置DNS服务器,要先安装DNS软件BIND.当然我们也可以安装其他的DNS软件,比如国内的开源DNS软件DNSPod. 在此我们以通过 ...
- 烂泥:centos安装及配置DHCP服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 有关DHCP服务器的配置一直打算学习,这几天终于抽出时间来专门学习这个知识点. DHCP:动态主机配置协议,在此就不多做介绍.不清楚的童鞋,可以去百度下 ...
- Linux 安装配置 tftp 服务器
1.安装TFTP服务 安装服务端 sudo apt-get install tftpd-hpa 安装客服端 sudo apt-get install tftp-hpa 2.创建TFTP服务器目录 cd ...
- 怎样在 CentOS/RHEL 7/6 上安装和配置 Sendmail 服务器
在 CentOS 上,可以通过 mailx 命令 或 sendmail 命令来给因特网发送电子邮件. 关于前者的文章比较多,关于后者的文章比较少. 这里记录了我在 CentOS 7 上安装和配置 se ...
- [转]ubuntu 10.04下的配置tftp服务器
[转]ubuntu 10.04下的配置tftp服务器 http://www.cnblogs.com/geneil/archive/2011/11/24/2261653.html 第1步:安装tftp所 ...
- CentOS安装与配置LNMP
本文PDF文档下载:http://www.coderblog.cn/doc/Install_and_config_LNMP_under_CentOS.pdf 本文EPUB文档下载:http://www ...
- Ubuntu14.04环境下配置TFTP服务器
<<<<<<<<<<<<<<<<<<<<<<<<< ...
- (转)RedHat/CentOS安装和配置kerberos
RedHat/CentOS安装和配置kerberos 需要在kerberos server和客户端都先安装ntp (Internet时间协议,保证服务器和客户机时间同步 ) 1 kerberos 服 ...
- ubuntu 配置 tftp 服务器
一. 安装 tftp 1.1. 安装 tftp 所需的软件. a. 安装 tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序, 在终端下输入 sudo apt-get install ...
随机推荐
- Mysql有没有语法可以在增加列前进行判断该列是否存在
Mysql没有直接的语法可以在增加列前进行判断该列是否存在,需要写一个存储过程完成同样任务,下面例子是:在sales_order表中增加一列has_sent列 drop procedure if ex ...
- Chrome弹窗的简单应用(选择结构与循环结构)
★选择结构★ ★JS实现弹窗显示随机数 示例代码效果图 ★ 弹窗实现对随机数的进一步判断 示例代码效果图 ★综合应用 比较大小 ★ 判断成绩等级 ): : : : : alert(" ...
- TreeBuilder科学的树创建器
public static class TreeBuilder { public static List<dynamic> Build(IEnumerable<dynamic> ...
- 【C#进阶系列】08 方法
实例构造与引用类型 之前的章节其实已经写过了引用类型的构造过程: 首先当然是,在堆中,为引用类型的实例对象分配内存,然后初始化对象的附加字段(即类型对象指针和同步块索引). 这个时候为对象分配的内存都 ...
- php中的抛出异常和捕捉特定类型的异常
测试环境:PHP5.5.36 Safari 9.1.2 异常捕获,在现在很多ide工具里都可以用快捷键很方便的添加上,防止用户看到自己看不懂的报错甚至莫名其妙崩溃,导致用户体验不好. 哪怕显示一 ...
- Linux Shell系列教程之(十七) Shell文件包含
本文是Linux Shell系列教程的第(十七)篇,更多Linux Shell教程请看:Linux Shell系列教程 通过文件包含,可以引用其他文件的内容,也可以将复杂内容分开,使程序结构更加清晰. ...
- 【iOS】Quartz2D练习-动态改变属性值
一.通过slider控制圆的缩放 1.实现过程 新建一个项目,新建一个继承自UIview的类,并和storyboard中自定义的view进行关联.代码示例:SLViewController.m文件 # ...
- ASP.NET Web API 通过Authentication特性来实现身份认证
using System; using System.Collections.Generic; using System.Net.Http.Headers; using System.Security ...
- SharePoint DateTimeControl 使用
首先,需要引用: <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebCo ...
- Objective-C中@encode的使用
今天看Mansonry的代码时,碰到一个生僻的关键字(也许只是自己没用过).:-) @encode => 将给定类型编码为内部表示的字符串. 为了方便自己查阅,顺便也写个小例子,贴在这里,实践 ...