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 ![](https://file.jishuzhan.net/article/1748011251323113474/ee05fa950a1907ba9d20a7af77d5675c.webp) #### 客户端搭建yum仓库下载vsftpd软件与ftp协议 客户端192.168.11.5 搭建仓库 ![](https://file.jishuzhan.net/article/1748011251323113474/8988657826261c20a19961c9998a3a76.webp) ![](https://file.jishuzhan.net/article/1748011251323113474/c05c308c28618308fb99101d44fef3fc.webp) **教训** ![](https://file.jishuzhan.net/article/1748011251323113474/a7f486f0ba691bb0f67b0ad6fa08ddde.webp) ![](https://file.jishuzhan.net/article/1748011251323113474/658b77d27784fb86bb7cef725eb82869.webp) ![](https://file.jishuzhan.net/article/1748011251323113474/523df75d1b316d312284a8d80eed7fa6.webp) ### ![](https://file.jishuzhan.net/article/1748011251323113474/da3e840a5f86f87e264a6bd1a41c0dea.webp)在内网环境下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

相关推荐
2401_867021901 小时前
文件缓冲区(IO与文件 ·III)(linux/C)
linux·运维·服务器·c语言
刘某的Cloud1 小时前
rabbitmq常用命令
linux·运维·分布式·rabbitmq·系统
悄悄敲敲敲2 小时前
Linux:进程间通信->命名管道
linux·运维·服务器
望获linux2 小时前
智能清洁机器人中的实时操作系统应用研究
大数据·linux·服务器·人工智能·机器人·操作系统
io无心2 小时前
Docker绑定端口报错
运维·docker·容器
悄悄敲敲敲4 小时前
Linux:进程间通信->共享内存
linux·运维·服务器
绵绵细雨中的乡音4 小时前
Linux进程学习【环境变量】&&进程优先级
linux·运维·学习
天下·第二5 小时前
【Nginx】负载均衡配置详解
运维·nginx·负载均衡
GanGuaGua5 小时前
linux:进程的替换
linux·运维·服务器
梓䈑6 小时前
【Linux系统】详解Linux权限
linux·运维·bash