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