FTP文件传输与vsftpd配置

一 存储类型

直连式存储DAS

适用于那些数据量不大,对磁盘访问速度要求较高的中小企业

存储区域网络SAN

用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低

网络附加存储NAS

适用于大型应用或数据库系统,缺点是成本高、较为复杂

FTP工作原理

1文件传输协议

是典应用层协议, c/s架构

20数据端口 用于建立数据连接,并传输文本数据

21命令端口 建立控制连接,并传输FTP控制命令

2 数据传输格式:二进制 文本

3 双通道协议:命令与数据的连接

从服务器角度

主动模式:服务器主动开启20端口连接客户端传输真实数据

被动摸式:服务器随机开启端口等待客户端连接,客户机通过21命令来获取 服务端的随机端口

数据给客户端

被动(PASV style):服务器被动等待客户端连接

FTP服务状态码

服务器数据端口为:

用户认证:

  • 匿名用户:ftp,anonymous,对应Linux用户ftp root,两种协议

  • 一般提供公共文件的下载,如免费文件,学习资料,百度网盘

  • 系统用户: Linux用户,用户/etc/passwd,密码/etc/shadow

  • 虚拟用户: 特定服务的专用用户,独立的用户/密码文件

常见 FTP 相关软件

vsftpd:

ftp.redhat.com数据

Wu-ftpd

vsftpd 软件介绍

用户认证配置文件: /etc/pam.d/vsftpd

配置文件或子目录: /etc/vsftpd

:/usr/sbin/vsftpd

:/var/log/vsftpd.log

用户和其共享目录

  • 匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp

  • 系统用户共享文件位置:用户家目录

  • 虚拟用户共享文件位置:为其映射的系统用户的家目录

安装服务端

客户端连接服务端

vsftpd服务常见配置

修改默认命令端口

服务端:修改 默认命令端口号

客户端:连接时需要指明 端口号

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

listen_port=2121 #默认值为21

[root@localhost ~]#systemctl restart vsftpd

#ss -ntl #查看端口

主动模式端口

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

connect_from_port_20=YES #主动模式端口为20

ftp_data_port=20 #指定主动模式的端口,默认为20

[root@localhost ~]#systemctl restart vsftpd

被动模式端口

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

pasv_min_port=6000

pasv_max_port=6010

[root@localhost ~]#systemctl restart vsftpd

#0为随机分配,规定端口范围会影响客户端的并发数

使用当地时间

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

use_localtime=YES #使用当地时间 , 默认为NO,使用GMT

[root@localhost ~]#systemctl restart vsftpd

匿名用户登录

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES #支持匿名用户,

no_anon_password=YES #匿名用户略过口令检查 , 默认NO

[root@localhost ~]#systemctl restart vsftpd

匿名用户上传

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

anon_upload_enable=YES 匿名上传,注意:文件系统权限

anon_mkdir_write_enable=YES 匿名建目录

还需要开启文件系统访问的权限,不能给FTP根目录写权限否则报如下错误

匿名用户 下载 删除文件
指定匿名用户的上传文件的默认的所有者是ftp用户,这是可以修改的

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

chown_uploads=YES #默认NO

chown_username=mcb #匿名用户的上传文件的默认的所有者用户

chown_upload_mode=0644 #指定上传文件的权限

[root@localhost ~]#systemctl restart vsftpd

Linux 系统用户

系统用户登录:使用普通用户登录默认是在 系统用户的 家目录

将所有系统用户映射为指定的guest用户

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

guest_enable=YES #所有系统用户都映射成guest用户

guest_username=ftp #配合上面选项才生效,指定guest用户

#local_root=/ftproot #注释此行,默认所有用户都在ftp用户的家目录

user_config_dir=/etc/vsftpd/conf.d/ #每个用户独立的配置文件目录,可自由指定

[root@localhost ~]#systemctl restart vsftpd

禁锢系统用户

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO #默认YES

[root@localhost ~]#systemctl restart vsftpd

禁锢所有系统用户在家目录中

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

guest_enable=YES #所有系统用户都映射成guest用户

guest_username=ftp #配合上面选项才生效,指定guest用户

#local_root=/ftproot #注释此行,默认所有用户都在ftp用户的家目录

user_config_dir=/etc/vsftpd/conf.d/ #每个用户独立的配置文件目录,可自由指定

[root@localhost ~]#systemctl restart vsftpd

禁锢用户开启白名单和黑名单

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

chroot_list_enable=YES #默认是NO

chroot_list_file=/etc/vsftpd/chroot_list #默认值

当chroot_local_user=YES和chroot_list_enable=YES时,则chroot_list中用户不禁锢,即白名单,只允许名单里的用户登录

当chroot_local_user=NO和chroot_list_enable=YES时, 则chroot_list中用户禁锢,即黑名单,只有文件里的用户禁锢

[root@localhost ~]#systemctl restart vsftpd

ftp 默认启动日志

#wu-ftp 日志:默认启用

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

xferlog_enable=YES #启用记录上传下载日志,此为默认值

xferlog_std_format=YES #使用wu-ftp日志格式,此为默认值

xferlog_file=/var/log/xferlog #可自动生成, 此为默认值

[root@localhost ~]#systemctl restart vsftpd

#vsftpd日志:默认不启用

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

dual_log_enable=YES #使用vsftpd日志格式,默认不启用

vsftpd_log_file=/var/log/vsftpd.log #可自动生成, 此为默认值

[root@localhost ~]#systemctl restart vsftpd

提示信息

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

ftpd_banner="welcome to mcb ftp server"

banner_file=/etc/vsftpd/ftpbanner.txt

[root@localhost ~]#systemctl restart vsftpd

传输速率,单位:字节/秒 百度网盘限速就是这样玩

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

anon_max_rate=1024000 #1024000表示1MB/(数字随时改)

local_max_rate=102400

[root@localhost ~]#systemctl restart vsftpd

pam模块实现用户访问

在内网环境ftp下,搭建本地yum仓库

①服务端搭建本地yum仓库,并下载vsftp软件

服务端IP 192.168.11.9

客户端搭建yum仓库下载vsftpd软件与ftp协议

客户端192.168.11.5 搭建仓库

教训

在内网环境下http搭建yum仓库

服务端IP192.168.11.9

指令小金刚

1 [root@localhost ~]#sort --help

sort -t

sort -n

2 [root@localhost ~]#cut --help

用法:cut [选项]... [文件]...

cut -d 使用指定分界符代替制表符作为区域分界

3 [root@localhost ~]#seq --help

seq -s

4 [root@localhost ~]#tr --help 转换 压缩 删除

5 [root@localhost ~]#uniq --help

相关推荐
良许Linux几秒前
0.96寸OLED显示屏详解
linux·服务器·后端·互联网
蜜獾云11 分钟前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
小屁不止是运维12 分钟前
麒麟操作系统服务架构保姆级教程(五)NGINX中间件详解
linux·运维·服务器·nginx·中间件·架构
Hacker_Oldv17 分钟前
WPS 认证机制
运维·服务器·wps
bitcsljl25 分钟前
Linux 命令行快捷键
linux·运维·服务器
ac.char28 分钟前
在 Ubuntu 下使用 Tauri 打包 EXE 应用
linux·运维·ubuntu
Youkiup1 小时前
【linux 常用命令】
linux·运维·服务器
qq_297504611 小时前
【解决】Linux更新系统内核后Nvidia-smi has failed...
linux·运维·服务器
_oP_i1 小时前
.NET Core 项目配置到 Jenkins
运维·jenkins·.netcore
weixin_437398211 小时前
Linux扩展——shell编程
linux·运维·服务器·bash