IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> centos7搭建vsftp -> 正文阅读

[系统运维]centos7搭建vsftp

目录

vsftp简介

vsftp虚拟用户配置

一、安装vsftp包

二、 创建虚拟用户账户和密码

?三、创建一个文件目录,然后在文件目录下创建用来存储虚拟用户权限的文件

四、生成虚拟用户数据文件

五、?设置PAM验证文件,并制定虚拟用户数据库文件进行读取

六、 修改vsftp的主配置文件

七、创建文件夹用来做虚拟用户的文件存储位置以及重启服务,使服务配置文件生效,以及关闭防火墙和selinux?

?八、对vsftp进行测试


vsftp简介

????????????????vsftp服务有三种用户认证服务,分别是匿名用户,本地用户,虚拟用户模式,一般来说虚拟用户配置用的比较多。

? ? ? ? ? ? ? ? vsftp呢他有两种传输文件方式,分别是主动传输模式和被动传输模式。

????????????????主动传输模式是ftp客户端首先和ftp服务段的21端口建立连接,通过这个通道发送命令,客户端要接受数据的时候在这个通道上发送Port命令,Port命令包含了客户端用什么端口(一个大于1024的端口)接受数据,在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。这个时候数据连接由server向client建立一个连接。

? ? ? ? ? ? ? ? 主动模式之间采用的交互流程是client链接server的21端口,并发送用户名密码和一个随机在1024上的端口及port命令给server,表明采用主动模式,并开放那个随机的端口。server端:server收到client发来的Port主动模式命令与端口后,会通过自己的20端口与client那个随机的端口连接后,进行数据传输。

? ? ? ? ? ? ? ? 被动传输模式:被动传输模式的建立控制通道和主动传输模式相似,当客户端通过这个通道发送Pasv命令的时候,Ftp server打开了一个位于1024和5000之间的随机端口并且通知客户端在这个端口上进行传输数据请求,然后Ftp server将通过这个端口进行数据传输。这个时候数据连接由client向server建立连接。

? ? ? ? ? ? ? ? 被动模式之间采用的交互流程是client连接server的21号端口,发送用户名密码及pasv命令给server,表明采用被动模式。然后server收到client发来的pasv被动模式命令之后,把随机开放在1024上的端口告诉client,client再用自己的20 端口与server的那个随机端口进行连接后进行数据传输。

????????????????如果从C/S模型这个角度来说,PORT对于服务器来说是OUTBOUND,而PASV模式对于服务器是INBOUND,这一点请特别注意,尤其是在使用防火墙的企业里,这一点非常关键,如果设置错了,那么客户将无法连接。

? ? ? ? ? ? ? ? 以上理论内容通过修改部分内容转载于简介vsftpd及搭建配置 - 厉害了我 - 博客园 (cnblogs.com)这位大佬的博客内容

vsftp虚拟用户配置

一、安装vsftp包

? ? ? ??

yum install -y vsftpd    //安装vsftp包
rpm -qa | grep vsftpd    //检查包是否安装成功

二、 创建虚拟用户账户和密码

vi /etc/vsftpd/vuser     //在这个文件里面输入自己要创建的虚拟用户和密码奇数行是用户,偶数行是密码

?三、创建一个文件目录,然后在文件目录下创建用来存储虚拟用户权限的文件

mkdir /etc/vsftpd/user.list     //创建一个文件目录,这个文件目录用来存储虚拟用户的权限文本
vi /etc/vsftpd/user.list/user1  //在这个文本里面写入虚拟用户的权限。如果有多个用户的话,需要创建多个文本,不能一个目录用来存储多个虚拟用户权限
###########下面的这个是我在/etc/vsftpd/user.list/user1里面写入的用户权限
anon_upload_enable=yes       //允许用户上传文件
anon_mkdir_write_enable=yes       //允许用户创建目录
anon_other_write_enable=yes       //允许用户有其他的写入权限
local_root=/ftpuser1         //用户目录所在位置

四、生成虚拟用户数据文件

cd /etc/vsftpd/       //切换至vsftp的配置文件目录
db_load -T -t hash -f vuser vuser.db        //生成虚拟用户数据文件

五、?设置PAM验证文件,并制定虚拟用户数据库文件进行读取

vi /etc/pam.d/vsftpd      //修改pam验证文件
##########以下是我在/etc/pam.d/vsftpd文件下修改的配置文件,我之所以选择将我配置文件里面注释掉呢,是因为他到时候万一出错了,还可以修改,在此我建议大家做服务的时候最好先备份一份原有的配置文件,避免出错了,还不记得原有的配置文件
1 #%PAM-1.0
2 #session    optional     pam_keyinit.so    force revoke
3 #auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpuse        rs onerr=succeed
4 auth       required     pam_userdb.so   db=/etc/vsftpd/vuser
5 #auth       include     password-auth
6 account    required     pam_userdb.so   db=/etc/vsftpd/vuser
7 #session    required     pam_loginuid.so
8 #session    include     password-auth

六、 修改vsftp的主配置文件

vi /etc/vsftpd/vsftpd.conf       //进入vsftp主配置文件,进行修改
########以下是我修改添加的vsftp主配置文件
129 pam_service_name=vsftpd     //设定pam服务下的vsftpd验证配置文件名。因此,PAM验证将参考/etc/pam.d/下的vsftpd文件配置。
130 userlist_enable=YES        //设定userlist_file中的用户将不能使用ftp
131 tcp_wrappers=YES           //设定支持TCPwrappers
132 guest_enable=yes           //启用虚拟用户功能
133 guest_username=ftp         //指定虚拟的宿主用户
134 user_config_dir=/etc/vsftpd/user.list       //设定虚拟用户个人vsftp的配置文件存放路劲
135 allow_writeable_chroot=yes      //

七、创建文件夹用来做虚拟用户的文件存储位置以及重启服务,使服务配置文件生效,以及关闭防火墙和selinux?

mkdir /ftpuser1     //创建ftpuser1文件夹
chmod 777 /ftpuser1    //修改我们创建的用户文件夹权限,这里我给777是因为懒不想改,自己做的话还是尽量修改一下配置文件的权限,最好别一股脑的给777权限,这样会导致自己的Linux服务器变得不安全
systemctl restart vsftpd      //重启vsftp服务
systemctl stop firewalld.service       //关闭防火墙
etenforce 0      //临时关闭selinux

?八、对vsftp进行测试

?测试结果表明可以上传文件和下载文件,至此vsftp服务器算是成功的做了下来,如果我以上有的地方说的不对,请各位大佬指正。在此非常感谢各位的观看

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-21 12:49:07  更:2021-10-21 12:50:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:58:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码