CentOS 7 安装vsftpd 服务器的具体操作步骤

发布时间 - 2026-01-11 02:40:20    点击率:

在CentOS7上安装ftp服务器用于保存服务端上传的图片。

1、CentOS卸载vsftpd的方法

如果服务器上已经安装了vsftpd服务,配置出错需要卸载vsftpd服务。

1.1 查找vsftpd服务

[root@localhost /]# rpm -aq vsftpd

返回结果显示:

vsftpd-3.0.2-21.el7.x86_64 #此处是查找vsftpd的返回结果

表示此服务期之前已经安装过vsftpd服务。

1.2 删除查找到的vsftpd服务

注:在卸载vsftpd之前,先停止vsftpd

[root@localhost /]# /sbin/service vsftpd stop

卸载vsftpd:

[root@localhost /]# rpm -e vsftpd-3.0.2-21.el7.x86_64

返回结果显示:

warning: /etc/vsftpd/vsftpd.conf saved as /etc/vsftpd/vsftpd.conf.rpmsave #删除时将备份vsftp的用户列表文件

1.3 输入验证命令,验证vsftpd服务是否已经删除

[root@localhost /]# /sbin/service vsftpd stop
Redirecting to /bin/systemctl stop vsftpd.service
Failed to stop vsftpd.service: Unit vsftpd.service not loaded. #找不到vsftpd
[root@localhost /]# /sbin/service vsftpd start
Redirecting to /bin/systemctl start vsftpd.service
Failed to start vsftpd.service: Unit not found. #找不到vsftpd

如果输入以上两个命令都显示找不到vsftpd服务的话,那就证明已经卸载成功。

2、安装vsftpd组件

[root@localhost /]# yum -y install vsftpd

2.1 启动ftp

[root@localhost home]# systemctl start vsftpd.service

2.2 放开21端口

[root@localhost /]# firewall-cmd --zone=public --add-port=21/tcp --permanent
[root@localhost /]# firewall-cmd --reload

3、vsftpd服务的详细配置

3.1 关闭匿名用户

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

在vsftpd.conf配置文件中修改以下三项:

anonymous_enable=NO
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES

然后重启ftp服务:

[root@localhost vsftpd]# systemctl restart vsftpd.service

通过配置重启之后,匿名用户不可以登录了。

3.2 建立ftp虚拟宿主账户

新建一个不能登录系统用户. 只用来登录ftp服务 ,这里如果没设置用户目录。默认是在home下:

[root@localhost vsftpd]# useradd ftpuser -s /sbin/nologin

为ftpuser用户设置密码:

[root@localhost /]# passwd ftpuser

3.3 查看ftp的状态

[root@localhost /]# getsebool -a|grep ftp

显示结果:

ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off

将上面红色两项状态设置为on:

[root@localhost vsftpd]# setsebool -P allow_ftpd_full_access on
[root@localhost vsftpd]# setsebool -P tftp_home_dir on

3.4 配置vsftpd.conf

限制系统用户锁定在/home/ftpuser目录

如果设置为

chroot_local_user=YES
chroot_list_enable=YES(这行可以没有, 也可以有)
chroot_list_file=/etc/vsftpd.chroot_list

那么, 凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户

即, 可以浏览其主目录的上级目录.

所以, 如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置, 然后在

文件vsftpd.chroot_list中不添加该用户即可(此时, 在该文件中的用户都是可以浏览其主目录之外的目录的).

或者, 设置如下

chroot_local_user=NO
chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
chroot_list_file=/etc/vsftpd.chroot_list

然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加到文件vsftpd.chroot_list(此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的)

中即可(一行一个用户名).

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

这里有两种方案,我采用第二种,配置如下:

chroot_local_user=NO
chroot_list_enable=YES #(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
chroot_list_file=/etc/vsftpd/chroot_list

默认chroot_list是不存在的

[root@localhost vsftpd]# vim /etc/vsftpd/chroot_list

然后加入 ftpuser ,表示只有ftpuser不能访问上级目录,重启vsftpd。

3.5 修改权限

修改/home/ftpuser 的权限为不可写

[root@localhost vsftpd]# chmod a-w /home/ftpuser/taotao

这是因为我们在上面将/home/ftpuser/taotao文件的权限改为不可写了,那么我们在这个目录下创建一个images文件夹,用来上传文件。并将权限赋值给 ftpuser 用户

[root@localhost taotao]# mkdir images
[root@localhost images]# chown ftpuser images

4、开启PASV(被动模式)

在 /etc/vsftpd/vsftpd.conf 的最下面加入

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999

并且在userlist_enable=YES文件后面添加

userlist_deny=NO
userlist_file=/etc/vsftpd/user_list

开启防火墙:

[root@localhost taotao]# firewall-cmd --zone=public --add-port=30000-30999/tcp --permanent 
[root@localhost taotao]# firewall-cmd --reload

这样就可以使用ftp服务器上传文件了。

以上这篇CentOS 7 安装vsftpd 服务器的具体操作步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# 安装vsftpd服务器  # CentOS8环境下FTP服务器安装与配置步骤详解  # Docker安装FTP服务器的方法步骤  # centos8系统ftp服务器安装及被动模式配置详细教程  # linux安装部署ftp图片服务器的实现方法  # CentOS8.0 安装配置ftp服务器的实现方法  # CentOS 7系统下安装ftp服务器的全过程  # 安装、配置和验证FTP服务器的步骤  # 都是  # 主目录  # 找不到  # 重启  # 这行  # 要有  # 不可以  # 给大家  # 设置为  # 该文件  # 上传文件  # 是在  # 在这个  # 那就  # 希望能  # 不受  # 并将  # 不存在  # 写了  # 在上面 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 轻松掌握MySQL函数中的last_insert_id()  Laravel如何实现事件和监听器?(Event & Listener实战)  Laravel如何实现API资源集合?(Resource Collection教程)  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Laravel如何使用Gate和Policy进行授权?(权限控制)  公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何快速查询网站的真实建站时间?  Python数据仓库与ETL构建实战_Airflow调度流程详解  高端建站三要素:定制模板、企业官网与响应式设计优化  简单实现jsp分页  javascript中闭包概念与用法深入理解  音响网站制作视频教程,隆霸音响官方网站?  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  用v-html解决Vue.js渲染中html标签不被解析的问题  如何用美橙互联一键搭建多站合一网站?  如何实现javascript表单验证_正则表达式有哪些实用技巧  如何用免费手机建站系统零基础打造专业网站?  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  如何快速搭建高效香港服务器网站?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  如何用好域名打造高点击率的自主建站?  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  Linux系统命令中screen命令详解  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  如何在云指建站中生成FTP站点?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  如何利用DOS批处理实现定时关机操作详解  zabbix利用python脚本发送报警邮件的方法  Laravel如何自定义分页视图?(Pagination示例)  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  如何在云服务器上快速搭建个人网站?  Laravel安装步骤详细教程_Laravel环境搭建指南  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  如何用花生壳三步快速搭建专属网站?  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  JavaScript中的标签模板是什么_它如何扩展字符串功能  如何在万网ECS上快速搭建专属网站?  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  Laravel用户密码怎么加密_Laravel Hash门面使用教程  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  如何在阿里云通过域名搭建网站?  如何在Windows 2008云服务器安全搭建网站?  Android 常见的图片加载框架详细介绍  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?