ubuntu下ftp安装和使用(vsftpd)

一、ftp功能:上传和下载文件,应用层协议使用ftp协议,传输层使用TCP协议,默认端口21。
二、安装:
(A)配置服务器端

1.安装vsftpd(very secure FTP daemon)服务器:非常安全的FTP守护进程,顾名思义提高了ftp协议传输数据的安全性。

sudo apt install vsftpd

2.配置,打开/etc/vsftpd.conf,建议先备份一份

cd /etc
sudo cp ./vsftpd.conf ./vsftpd.conf.back
vim vstfpd.conf

我目前设置的配置信息:

listen=YES #服务器启动后,开启侦听状态,随时准备提供服务
#listen_ipv6=YES   #能用ipv6的可以使用,用ipv4的注释掉,不然重启不了哦
#
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=YES   #允许匿名用户登录
#
# Uncomment this to allow local users to log in.
local_enable=YES  #允许实名用户登录
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES  #实名用户允许写(上传文件)
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022

anon_upload_enable=YES   #匿名用户允许上传

anon_mkdir_write_enable=YES  #匿名用户可以创建目录

注:配置文件依据需求而定
3.配置好之后,重启服务器

sudo systemctl restart vsftpd

4.设置开机自启

sudo systemctl enable vsftpd

如果想关掉开机自启:

sudo systemctl disable vsftpd
(B)客户端使用
(一).实名用户模式下

1.客户端主机上登录ftp服务器的站点

ftp  服务器主机ip地址
#例如:ftp 192.168.255.2

之后输入ftp服务器的登录名和密码。

2.将客户端的文件上传到服务器例子:
 (1).登录服务器后切换到你想使用的服务器里的目录

ftp> cd /home/zhangqu/ftpShare 

 (2).上传文件使用put命令:
  注:如果上传的文件不在客户端登录ftp服务器之前的路径下,会出现上传失败。例如我之前的客户端目录为/home/zhangqu,但我要上传的文件在客户端的/home/zhangqu/study/ftpTest目录里,直接使用put 上传就会失败。如果就是上传当前目录下的文件就正常用put。
  解决方法:
法一:使用lcd命令可以到客户端对应的目录

ftp> lcd /home/zhangqu/study/ftpTest/
Local directory now  /home/zhangqu/study/ftpTest

之后执行put命令上传文件到服务器当前目录:

#上传upload.cc文件
ftp> put upload.cc

法二:将客户端主机切换到要上传的文件路径下,之后再登录ftp服务器,切换到服务器对应目录后再上传

cd /home/zhangqu/study/ftpTest
ftp 192.168.255.2
ftp> cd /home/zhangqu/ftpShare 
ftp> put upload.c

如果传输失败,也可能是其他原因,上网搜一搜吧
2.将服务器的文件下载到客户端的例子:
 (1).登录服务器后切换到你想使用的服务器里的目录

ftp> cd /home/zhangqu/ftpShare 

 (2).下载文件使用get命令

 #如果就是下载到当前客户端目录,则可省略lcd命令
ftp> lcd /home/zhangqu/study/ftpTest/
#从服务器上下载vsftpd.conf
ftp> get vsftpd.conf

再次说明:客户端的目录(路径)很重要。

注:如果要下载或上传目录(文件夹),则需要打包,将文件夹压缩后再上传和下载。

(二).匿名用户模式下

 1.服务器端为匿名用户(其他人)创建工作目录,限制其操作服务器文件的范围,提高安全性。

#在服务器的/home/zhangqu路径下创建匿名用户的根目录
mkdir /home/zhangqu/ftpAnonymous
#在ftpAnonymou里创建linuxFtp和winFtp文件夹
mkdir /home/zhangqu/linuxFtp  /home/zhangqu/winFtp

注意此时创建的文件的权限:
在这里插入图片描述
 匿名用户属于其他人,现在没有写权限,也就无法上传文件,所以需要给匿名用户添加写权限:

chmod o+w linuxFtp
chmod 777 winFtp

在这里插入图片描述
 2.在ftp服务器上,修改配置文件,设置匿名用户登录ftp服务器后的根目录

sudo vim /etc/vsftpd.conf

在配置文件里添加:

anon_root=/home/zhangqu/ftpAnonymous/

最后重启ftp服务器

sudo systemctl restart vsftpd

 3.客户端使用put上传文件到服务器
① 匿名登录ftp服务器

ftp 服务器ip地址

之后登录名一定要写anonymous,密码直接回车就行。成功登录后会进入ftp服务器为匿名用户设置好的根目录路径。
② 上传,假设客户端当前路径为/home/zhangqu/ftpTest

#进入ftp服务器匿名用户根目录下的linuxFtp文件夹
cd /linuxFtp
#上传anonUpload.pdf 到 linuxFtp
ftp> put anonUpload.pdf 

 4.从服务器上下载文件get,类比put使用。
注:如果要下载或上传目录(文件夹),则需要打包,将文件夹压缩后再上传和下载。

(三)、使用客户端工具lftp登录ftp服务器方便操作

在这里插入图片描述

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值