linuxtftp服务器
知道Linux已经装上tftp这样判断:
TFTP是用来下载远程文件的最简单网络协议,其于UDP协议而实现。
1,拿出系统关盘,安装这2个软件,一个是服务端,一个是客户端,
tftp-0.39-2.i386.rpm
tftp-server-0.39-2.i386.rpm
2,修改启动配置文件
不管使用的是哪一种super-server,inetd或者xinetd,默认情况下TFTP服务是禁用的,所以要修改文件来开启服务。
修改文件/etc/xinetd.d/tftp。主要是设置TFTP服务器的根目录,开启服务。
Ⅱ 如何安装linux的tftp服务器
安装tftp服务器:
需要安装xinetd、tftp、tftp-server3软件
1、如果能上网,通过yum安装:
sudo yum install xinetd
sudo yum install tftp
sudo yum install tptp-server
2、如果不能上网,可以直接安装提供的rpm包:
sudo rpm -ivh xinetd-2.3.14-18.fc9.i386.rpm
sudo rpm -ivh tftp-0.48-3.fc9.i386.rpm
sudo rpm -ivhtftp-server-0.48-3.fc9.i386.rpm
配置tftp服务器:
修改/etc/xinetd.d/tftp文件
disable=yes 改为 disable=no
server_args=-s /var/lib/tftpboot 改为 server_args=-s /tftpboot/ -c
修改/etc/sysconfig/selinux文件
SELINUX=disabled (系统默认是enforcing)要改成disabled
chmod 777 /tftpboot 修改/tftpboot文件夹的权限
启动 service xinetd restart
查看tftp服务是否开启:
netstat -a | grep tftp
显示结果为 udp 0 0 *:tftp *:* 表示服务已经开启,tftp配置成功
把openwrt-ar71xx-wp543-squashfs-4M-factory.img 文件复制到目录/tftpboot 下
在目录/home/x(目录名)下:
启动tftp服务器
sudo in.tftpd -l /tftpboot
tftp 192.168.0.26(本机的IP地址)
tftp>get a(文件名) 在服务器上下载文件
tftp>put a(文件名) 上传文件到服务器上
tftp>q 退出
启动tftp服务器:
service tftpd-hpa stop 停止tftp服务器
service tftpd-hpa start 开启tftp服务器
service tftpd-hpa stutus 查看tftp运行状态
service tftpd-hpa restart 重启tftp服务器
(注意:文件传输后文件的权限会发生变化)
进入TFTP操作:
connect:连接到远程tftp服务器
mode:文件传输模式
put:上传文件
get:下载文件
quit:退出
verbose:显示详细的处理信息
tarce:显示包路径
status:显示当前状态信息
binary:二进制传输模式
ascii:ascii 传送模式
rexmt:设置包传输的超时时间
timeout:设置重传的超时时间
help:帮助信息
? :帮助信息
-g 表示下载文件 (get)
-p 表示上传文件 (put)
-l 表示本地文件名 (local file)
-r 表示远程主机的文件名 (remote file)
例如,要从远程主机192.168.1.2上下载 embedexpert,则应输入以下命令:
tftp -g -r embedexpert 192.168.1.2
出现的一些问题及原因(解决方法):
1、Transfer time out.
tftpd服务没有启动
2、Error code 0:Permission denied
可能是由SELinux造成的,在FC3和FC3以后的FC版本中SELinux默认的都是开启的,现在要关掉它。
修改文件/etc/sysconfig/selinux,设定SELINUX=disabled,然后重启电脑即可
或者 执行命令system-config-securitylevel打开“安全级别配置”对话框,将SELinux(S)选项中“强制”改为“允许”
3、Error code 1:File not found
指定的文件夹不存在;或tftpd启动参数中没有指定-c选项,允许上传文件
4、Error code 2:Only absolute filenames allowed
/etc/xinetd.d/tftpd文件的设置没设好,只需要将server_args= 改为你自己设定 的服务器文件夹就行了
5、Error code 2:Access violation
上传的文件要有相应的可读写(覆盖)的权限才能上传,要对文件的权限进行修改 chmod 777 a(文件名)
Ⅲ 如何在Linux中启动TFTP服务器
在Linux中安装和配置好TFTP和xinetd后,启动TFTP服务器总是出现下列问题,怎么解决呢?求解答。 你先进入敲setup 进入后选择system service (通过tab键
Ⅳ 在Linux中TFTP服务器是什么
第一步:
我们要确认,LINUX下是不是安装了TFTP-SERVER.
在LINUX下输入:
rpm
-q
tftp-server
如出现如下回复:
tftp-server-0.39-2
则表示tftp-server已安装.
第二步:
修改TFTP启动脚本:
方法一:
需要修改ftptpd的启动脚本
vi
/etc/xinetd.d/tftp
加上
disable
=no
此时即可启动tfpt服务
方法二:
直接输入:
/sbin/chkconfig
tftp
on
此命令也是在启动脚本中加上disable=no
第三步:
启动TFTP服务
service
xinetd
restart
这样我们的服务就启动OK了.
TFTP的默认根目录在/tftproot中.
Ⅳ linux tftp服务器怎么开启
第一步:
我们要确认,LINUX下是不是安装了TFTP-SERVER.
在LINUX下输入:
rpm -q tftp-server
如出现如下回复:
tftp-server-0.39-2 则表示tftp-server已安装.
第二步:
修改TFTP启动脚本:
方法一:
需要修改ftptpd的启动脚本
vi /etc/xinetd.d/tftp
加上disable =no 此时即可启动tfpt服务
方法二:
直接输入:/sbin/chkconfig tftp on
此命令也是在启动脚本中加上disable=no
脚本修改后的效果如下:
第三步:
启动TFTP服务
service xinetd restart
这样我们的服务就启动OK了.
Ⅵ linux下的tftp怎么使用
tftp命令用在本机和tftp服务器之间使用TFTP协议传输文件。
TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置。
语法tftp(选项)(参数)选项
-c:指定与tftp服务器连接成功后,立即要执行的指令;
-m:指定文件传输模式。可以是ASCII或者Binary;
-v:显示指令详细执行过程;
-V:显示指令版本信息。 参数
主机:指定tftp要联机的tftp服务器的ip地址或主机名。
实例1、安装tftp服务器
需要安装xinetd、tftp和tftp-server 3个软件
如果能上网,通过yum安装:
yumxinetd
yuminstalltftp
yuminstalltftp-server
如果不能上网,可以直接安装提供的rpm包:
rpm-ivhxinetd-2.3.14-18.fc9.i386.rpmrpm-ivhtftp-0.48-3.fc9.i386.rpm
rpm-ivhtftp-server-0.48-3.fc9.i386.rpm
2、配置tftp服务器
修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no。主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:
tftp
{
socket_type=dgram
protocol=udp
=yes
user=root
server=/usr/sbin/in.tftpd
server_args=-s/home/mike/tftpboot-c
disable=no
per_source=11
cps=1002
flags=IPv4
}
说明:修改项server_args= -s <path> -c,其中<path>处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。
3、启动tftp服务器并关闭防火墙
/etc/.d/
stop//关闭防火墙
/sbin/servicexinetdstart
或
servicexinetdrestart
/etc/init.d/xinetdstart
看到启动[OK]就可以了
4、查看tftp服务是否开启
-a|
tftp
显示结果为udp 0 0 *:tftp *:*表明服务已经开启,就表明tftp配置成功了。
5、tftp使用
复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。
tftp192.168.1.2tftp>get<download
>
tftp>put<uploadfile>
tftp>q
6、tftp命令用法如下
tftpyour-ip-address进入TFTP操作:
- connect:连接到远程tftp服务器
- mode:文件传输模式
- put:上传文件
- get:下载文件
- quit:退出
- verbose:显示详细的处理信息
- tarce:显示包路径
- status:显示当前状态信息
- binary:二进制传输模式
- ascii:ascii 传送模式
- rexmt:设置包传输的超时时间
- timeout:设置重传的超时时间
- help:帮助信息
- ? :帮助信息
7、如果老是出现“AVC Denial, click icon to view”的错误,并不能传输文件,需要作如下修改
修改/etc/sysconfig/selinux,将SELINUX设定为disable,使用命令setenforce 0让selinux配置文件生效。
8、Busybox中tftp命令的用法
命令格式为:
tftp[option]...[port]
如果要下载或上传文件的话是一定要用这些option的。
-g表示载文件(get)
-p表示上传文件(put)
-l表示本地文件名(localfile)
-r表示远程主机的文件名(remotefile)
例如,要从远程主机192.168.1.2上下载 embedexpert,则应输入以下命令
tftp-g-rembedexpert192.168.1.2Ⅶ 在Linux操作系统下怎么安装tftpd
以下资料来源网上:
fedora下tftp服务器的安装与配置
总结过程如下:
1.下载tftp服务器、客户端tftp和守护进程xinetd三个包
yum install xinetd tftp tftp-server
//xinetd.i386 2:2.3.14-21.fc10
//tftp-0.49-1.fc10.i386.rpm
//tftp-server-0.49-1.fc10.i386.rpm
2.配置vi /etc/xinetd.d/tftp
修改server_args = -s /tftpboot -c,这里的-c一定要加上,否则只能下载不能上传!!!
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
per_source = 11
cps = 100 2
flags = IPv4
}
3.关闭防火墙
4.建立tftp工作目录并修改属性(不修改属性会出现error)
cd /
mkdir tftpboot
chmod 777 -R /tftpboot/
5.开启服务,上传下载文件
######################################
我的配置过程中先后顺序和出现的问题如下:
下载tftp服务客户端tftp和守护进程xinetd
yum install xinetd
yum install tftp tftp-server
//xinetd.i386 2:2.3.14-21.fc10
//tftp-0.49-1.fc10.i386.rpm
//tftp-server-0.49-1.fc10.i386.rpm
关闭防火墙
service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
cd /
mkdir tftpboot
cd tftpboot
cp /etc/inittab /tftpboot/
tftp 172.18.1.90
tftp> get inittab
Transfer timed out.
tftp>quit
[root@localhost tftpboot]# netstat -a|grep tftp
[root@localhost tftpboot]# ls
inittab
[root@localhost tftpboot]# touch aaa
[root@localhost tftpboot]# ls
aaa inittab
[root@localhost tftpboot]# tftp 172.18.1.90
tftp> get aaa
Transfer timed out.
tftp> quit
不知何故出现“Transfer timed out.”的错误提示,想想没有修改tftp配置文件:
[root@localhost tftpboot]# cd /etc/xinetd.d
[root@localhost xinetd.d]# vi tftp
修改保存:
disable=no
server_args=-s /tftpboot/ -c
[root@localhost xinetd.d]# cd /
[root@localhost /]# /etc/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
[root@localhost /]# netstat -a | grep tftp
udp 0 0 *:tftp *:*
[root@localhost /]# tftp 172.18.1.90
tftp> get aaa
Error code 1: File not found
tftp> get inittab
Error code 1: File not found
tftp> quit
错误不一样了,以为需要安装tftpd服务器端,yum install tftpd没有源
但这次想起来新建/tftpboot/目录时候没有对该目录权限进行修改,就一切ok了
[root@localhost /]# chmod 777 -R /tftpboot/
[root@localhost /]# tftp 172.18.1.90
tftp> get aaa
tftp> get inittab
tftp> q
[root@localhost /]# ls
aaa boot etc inittab lost+found mnt proc sbin srv tftpboot usr
bin dev home lib media opt root selinux sys tmp var
//根目录出现了aaa和inittab文件,下载成功!
再来试试上传文件:
[root@localhost /]# cd /tftpboot
[root@localhost tftpboot]# ls
aaa inittab
[root@localhost tftpboot]# rm aaa
rm: remove regular empty file `aaa'? y
[root@localhost tftpboot]# ls
inittab
[root@localhost tftpboot]# tftp 172.18.1.90
tftp> put aaa
tftp: aaa: No such file or directory
tftp> put aaa
tftp: aaa: No such file or directory
tftp> q
[root@localhost tftpboot]# cd /
[root@localhost /]# ls
aaa boot etc inittab lost+found mnt proc sbin srv tftpboot usr
bin dev home lib media opt root selinux sys tmp var
[root@localhost /]# tftp 172.18.1.90
tftp> put aaa
tftp> q
[root@localhost /]# cd /tftpboot
[root@localhost tftpboot]# ls
aaa inittab
上传成功!
上面错误原因就是tftp的执行目录要再根目录下进行,因为默认根目录为当前操作的目录
Ⅷ Linux怎么安装tftp
第一部分:TFTP开发环境搭建流程
1
第一步: 安装tftp所需的软件(黑色加粗字体为linux命令,下同)
搭建TFTP服务所需要安装的软件有tftp-hpa,tftpd-hpa以及xinetd,其中:
tftp-hpa : 是客户端软件; root# apt-get install tftp-hpa
tftpd-hpa : 是服务程序; root# apt-get install tftpd-hpa
xinetd : 是新一代进程守护程序。 root# apt-get install xinetd
2
第二步: 配置xinetd.conf配置文件
进入/etc目录,首先看目录中有没有一个xinetd.conf文件,如果没有则新建一个,有的话查看其内容:
root# cat xinetd.conf
看是否与下面的一致,内容如下所示:
若不一致则运行如下命令,修改为相同即可。
root# gedit xinetd.conf
3
第三步: 配置tftpd-hpa配置文件
修改tftpd-hpa配置文件的内容:
root# gedit /etc/default/tftpd-hpa
将内容修改成:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
修改成功后,如下图所示,保存退出。
注解:TFTP_DIRECTORY="/tftpboot"表示tftp服务器的工作目录,用户可根据自己的实际情况进行更改。
指定了tftp服务的工作目录后,我们需要在相应的路径下建立该tftp工作目录,命令如下:
root# mkdir –p /tftpboot
修改工作目录的权限为777,777是最松的权限,这样不仅可以允许别的主机或者目标机下载,同时允许其上传文件。命令为:
root# chmod 777 /tftpboot
4
第四步:配置tftp配置文件
进入/etc下面的xinetd.d文件夹,查看是否有一个tftp文件,如果没有的话,就新建一个并输入以下内容,如果有的话就查看内容是否与下面的一致,不一致则修改,内容如下:
root# gedit tftp
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
per_source = 11
cps = 100 2
flags =IPv4
}
修改之后,如图所示:
其中server_args一行是配置服务器的文件存放的位置,就是进行tftp传输的时候,都是从该文件夹中搜索文件的。然后保存文件,并退出编辑。
5
第五步:重新启动TFTP
重启tftpd-hpa,提示如下图:
root# service tftpd-hpa restart
6
第六步:重新加载xinetd
重新加载xinetd进程,提示如下图:
root# /etc/init.d/xinetd reload
7
第七步:重新启动xinetd
重启xinetd服务,提示如下图:
root# /etc/init.d/xinetd restart
每次修改完配置文件后,都需要重新启动一下服务。
至此,嵌入式Linux系统下搭建TFTP开发环境大功告成,下面介绍如何测试TFTP
END
第二部分:测试TFTP服务
1
第一步:新建测试文件
首先在tftp的工作目录"/tftpboot"中新建一个文件test,在其中输入任意内容,例如内容如下图:
2
第二步:进入测试目录
然后进入任意一个不同于/tftpboot的目录(例如/opt目录下),然后在终端中输入如下命令,进入tftp命令符下,如下图:
root# tftp localhost
3
第三步:获取测试文件
输入如下命令,再按回车,获取存放在tftp工作目录/tftpboot中的"test"文件。如果没有任何提示,就说明传输成功了,如下图所示:
root# get test
4
第四步:退出TFTP测试
输入 q 退出tftp命令行,如下图所示:
5
修改test文件后,可以在tftp命令中输入 如下命令,把修改过的test文件上传到服务器文件夹中。
root# put test
其效果图,在此不再给出,读者可以自行测试。
END
第三部分:脚本程序自动搭建TFTP开发环境
鉴于TFTP服务的安装过程十分繁复,且容易出错,下面给出脚本代码,自动安装该服务。
新建一个空文件,将下面代码复制,保存之后,修改文件权限,使之具有执行权限后,就可以自动搭建嵌入式TFTP开发环境了。
以下为脚本代码:
#!/bin/bash
####################################################
# 搭建TFTP服务所需要安装的软件有tftp-hpa,tftpd-hpa以及xinetd,#
# 其中: #
# tftp-hpa : 是客户端软件; #
# tftpd-hpa : 是服务程序; #
# xinetd : 是新一代进程守护程序。 #
####################################################
function creat_xinetd_conf
{
echo "# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
# Please note that you need a log_type line to be able to use
log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
}
includedir /etc/xinetd.d" > /tmp/xinetd.conf
}
function config_xinetd_conf
{
creat_xinetd_conf
filename=/etc/xinetd.conf
example=/tmp/xinetd.conf
test -f $filename #返回值为0,代表文件存在 返回值为1,代表文件不存在
if [ "$?" -eq 0 ];then
echo "xinetd.conf文件存在"
diff -E $example $filename
case $? in
1) #文件内容有误
rm -rf $filename
mv -f $example $filename
echo "xinetd.conf文件内容修改成功";;
0) #文件内容正确
rm -rf $example
echo "xinetd.conf文件内容正确";;
*)
rm -rf $example
echo "未知错误,程序终止";;
esac
else
echo "xinetd.conf文件不存在,正在创建该文件"
mv -f $example $filename
echo "xinetd.conf文件创建成功"
fi
}
#=============================================#
function modify_tftpd_hpa
{
echo "# /etc/default/tftpd-hpa
TFTP_USERNAME=\"tftp\"
TFTP_DIRECTORY=\"/tftpboot\"
TFTP_ADDRESS=\"0.0.0.0:69\"
TFTP_OPTIONS=\"-l -c -s\"" > /tmp/tftpd-hpa
rm -rf /etc/default/tftpd-hpa
mv -f /tmp/tftpd-hpa /etc/default/tftpd-hpa
echo "tftpd_hpa 文件内容修改成功"
mkdir -p /tftpboot
chmod 777 /tftpboot
}
#=============================================#
function modify_tftp
{
echo "service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
per_source = 11
cps = 100 2
flags =IPv4
}" > /tmp/tftp
rm -rf /etc/xinetd.d/tftp
mv -f /tmp/tftp /etc/xinetd.d/tftp
echo "tftp 文件内容修改成功"
}
#=============================================#
function test_tftp
{
echo "This is a test file" > /tftpboot/TEST
cd /tmp
echo "请在终端命令行中依次键入\"get TEST\"以及\"quit\""
tftp localhost
cat /tmp/TEST # 返回值为0,表示成功查看指定的文件 返回值为1,表示不能正常查看指定的文件
if [ $? -eq 0 ]; then
echo "tftp 测试成功,可以正常使用"
rm -rf /tftpboot/TEST /tmp/TEST
else
echo "tftp 测试失败,请检查tftp配置"
rm -rf /tftpboot/TEST /tmp/TEST
fi
}
#=============================================#
function step_1 #安装TFTP相关服务
{
apt-get update #安装软件之前,先升级一下数据库,获取软件包的最新相关信息
apt-get install tftp-hpa #安装TFTP服务的客户端软甲
apt-get install tftpd-hpa #安装TFTP服务的服务器端软件
apt-get install xinetd #安装新一代进程守护程序
}
function step_2 #配置TFTP相关服务
{
config_xinetd_conf #配置/etc/xinetd.conf文件
modify_tftpd_hpa #修改/etc/default/tftp-hpa文件
modify_tftp #安装TFTP服务的服务器端软件
}function step_3 #重启TFTP相关服务
{service tftpd-hpa restart #重新启动tftpd-hpa
/etc/init.d/xinetd reload #重新加载xinetd服务程序
/etc/init.d/xinetd restart #重新启动xinetd服务程序
}function step_4 #测试TFTP相关服务
{
test_tftp #测试tftp服务
}
echo "选项1 安装TFTP相关服务"
echo "选项2 配置TFTP相关服务"
echo "选项3 重启TFTP相关服务"
echo "选项4 测试TFTP相关服务"
echo "键入quit,退出TFTP安装"
echo "请键入数值,执行您所需要的操作: "
read -r Step
while [ $Step != quit ]
do
while [ $Step -lt 1 -o $Step -gt 4 ]
do
echo "对不起,您输入的选项有误,请输入数字1—4之间的数值!"
read -r Step
done
case "$Step" in
1)
read -p "安装过程中出现的选项,请直接确定,不必更改,按任意键继续安装"
step_1;;
2)
step_2;;
3)
step_3;;
4)
step_4;;
*)
echo "出现致命错误,请检查脚本程序!";;
esac
echo "操作已完成!"
echo "============================="
echo " "
echo " "
echo " "
echo " "
echo "选项1 安装TFTP相关服务"
echo "选项2 配置TFTP相关服务"
echo "选项3 重启TFTP相关服务"
echo "选项4 测试TFTP相关服务"
echo "键入quit,退出TFTP安装"
echo "请键入数值,执行您所需要的操作: "
read -r Step
echo " "
echo " "
done
exit
Ⅸ linux下tftp命令的使用
以前只记得tftp如何搭建,今天笔试的时候出了一道题,很是畸形,说如何使用tftp命令吧
192.168.1.1上的一个aaa文件传输到linux,然后再执行它笔试的时候没弄对,查了一下,应该为如下:
www.shiwu.com
复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。
tftp
192.168.1.2tftp>get
<download
file>tftp>put
<upload
file>tftp>q后面就是chmod,./之类的
作者
gudesiling