Linux TFTP 使用
tftp的作用: tftp(Trivial File transfer protocol) 是一种简单的文件传输协议, 它允许在网络上传输文件.
1.安装
tftp-hpa是客户端,作用是从TFTP服务器端上传/下载数据。 tftpd-hpa是服务端,作用是提供TFTP服务,供别人上传/下载数据。
$ sudo apt-get update
$ sudo apt-get install tftpd-hpa tftp-hpa
在文件/etc/default/tftpd-hpa 写入以下内容,注:修改文件时要使用root权限打开。
$ sudo vi /etc/default/tftpd-hpa
#/etc/default/tftpd-hpa
TFTP_USENAME="tftp"
TFTP_DIRECTORY="/boot/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s" # "-c"是可以上传文件的参数;"-s"是指定的TFTP服务器的目录;"-l"是在独立运行服务器(听)模式,而不是从inetd运行
#TFTP_OPTIONS="--secure" #打开此项,则只允许下载不能上传
安装完成后,会自动创建 /srv/tftp 目录, 下面新建一个 tftp 目录并修改权限:
$ sudo mkdir -p /boot/tftp
$ sudo chown -R 用户名:用户组名 /boot/tftp #修改用户组
$ sudo chmod -R 777 /boot/tftp/
启动tftp 服务:
$ sudo service tftpd-hpa restart
设置tftp开机启动:
$ sudo systemctl enable tftpd-hpa
关闭tftp开机启动:
$ sudo systemctl disable tftp-hpa
检查tftp 服务状态:
$ netstat -a | grep tftp
$ tftp -h
tftp [-4][-6][-v][-l][-m mode] [host [port]] [-c command]
解释: -4 :强制使用 IPv4地址; -6: 强制作用IPv6地址; -v :详细输出命令执行过程; -l : 指定本地文件名; -m mode: 指定传递模式, 支持"netascii", "octet", "mail"三种模式 , 默认netascii ; host 指定远程主机IP和端口, 默认端口69 ; -c: 发送单个命令给远程主机.
2、简略使用
从服务器上下载 a.txt
$ tftp -v -l 服务器地址 -c get 源文件名
$tftp -v -l 192.168.0.109 -c get a.txt
b.txt上传到服务器
$ tftp -v -l 服务器地址 -c put 源文件名
$tftp -v -l 192.168.0.109 -c put a.txt
有时出现错误:
在机器上装上了tftp server,使用tftp中get文件的时候可以下载文件,但是使用put的时候出现错误提示
Error code 0:Permission denied
看看远程文件夹是否拥有写的权限,如果你的/tftpboot里已经存在同名文件,并且没有设置文件夹的改写权限,所以不能被上传,修改相应的权限即可。
3. 命令行使用
连接到本机的服务器: tftp
$ tftp localhost
tftp> put a.txt #从服务器上下载 a.txt
tftp> get b.txt # b.txt上传到服务器
tftp> quit