CentOS 7 安装配置 Vsftpd
https://blog.imzhengfei.com/centos-an-zhuang-pei-zhi-vsftpd/
vsftpd 是“very secure FTP daemon”的缩写,是一款在Linux发行版中最受推崇的 FTP 服务器程序。特点是小巧轻快,安全易用。支持很多其他的 FTP 服务器所不支持的特征,比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
安装 Vsftpd
安装 Vsftpd
更新 yum 源
yum -y update
检查是否已安装:
rpm -qa | grep vsftpd
如果无,则安装:
yum -y install vsftpd
如果有,则更新:
yum -y update vsftpd
查看版本信息:
vsftpd -v
vsftpd: version 3.0.2
启动 vsftpd 服务:
systemctl start vsftpd.service
设置开机启动:
systemctl enable vsftpd.service
安装依赖工具
安装 Berkeley DB,用于生成虚拟用户数据 db 文件:
yum -y install db4-utils
安装 PAM,用于用户认证:
yum -y install pam*
配置 Vsftpd
核心配置
备份默认的配置文件:
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
重新创建配置文件:
vi /etc/vsftpd/vsftpd.conf
添加配置信息**(注意等号两边不能有空格)**:
anonymous_enable=NO
local_enable=YES
local_umask=022
#
tcp_wrappers=NO
reverse_lookup_enable=NO
pam_service_name=vsftpd
#
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
#
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
#
listen=YES
listen_port=21
connect_from_port_20=YES
pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=8000
pasv_max_port=8100
#
accept_timeout=120
connect_timeout=120
data_connection_timeout=180
idle_session_timeout=600
local_max_rate=0
#
dirmessage_enable=NO
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
#log_ftp_protocol=YES
xferlog_std_format=YES
#
guest_enable=YES
guest_username=root
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vuser_conf
注意:guest_username 一般填写目录所有者,一般为 root 或者 www、ftp 等。
虚拟用户权限配置
备份 user_list(允许访问 FTP 的用户名单):
mv /etc/vsftpd/user_list /etc/vsftpd/user_list.bak
重新创建 user_list 文件并添加允许访问的 FTP 用户名(一行一个):
vi /etc/vsftpd/user_list
创建 chroot_list 文件:
touch /etc/vsftpd/chroot_list
如果有允许访问上级目录的用户,在该文件中添加用户名(一行一个)。
虚拟用户独立配置
新建虚拟用户独立配置路径文件夹:
mkdir /etc/vsftpd/vuser_conf
添加虚拟用户独立配置(文件名为用户名):
vi /etc/vsftpd/vuser_conf/test
写入该用户的独立配置:
local_root=/home/wwwroot/www.xxx.com
write_enable=YES
download_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
注意: local_root 为 FTP 用户根目录。
日志文件
创建日志文件:
touch /var/log/vsftpd.log
设置文件权限:
chown ftp:ftp /var/log/vsftpd.log
重启 Vsftpd:
systemctl restart vsftpd.service
虚拟用户认证
生成用户认证文件
添加虚拟用户认证文件:
vi /etc/vsftpd/vsftpd_vuser
在文件中添加虚拟用户名和密码,奇数行用户名,偶数行密码:
test
test123
生成虚拟用户认证文件**(每次修改虚拟用户密码均需重新生成一次)**:
db_load -T -t hash -f /etc/vsftpd/vsftpd_vuser /etc/vsftpd/vsftpd_vuser.db
如果出现以下错误:
db_load: unexpected end of input data or key/data pair、db_load: odd number of key/data pairs
请在 /etc/vsftpd/vsftpd_vuser 最后添加一行空行,再尝试生成用户认证文件。
设置文件权限,只有 root 用户可以读写:
chmod 600 /etc/vsftpd/vsftpd_vuser.db
配置 PAM
备份 vsftpd 的 PAM 认证文件:
mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
重新创建 PAM 文件:
vi /etc/pam.d/vsftpd
添加配置:
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_vuser
account required pam_userdb.so db=/etc/vsftpd/vsftpd_vuser
64 位系统再在下面添加以下两行
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_vuser
防火墙设置
查看 ftp 服务是否已经永久启用:
firewall-cmd --permanent --query-service=ftp
如果没有,则启用 ftp 服务:
firewall-cmd --permanent --add-service=ftp
给 ftp 服务添加 vsftpd 命令传输端口和被动模式端口:
# 添加 vsftpd 命令传输端口 20/tcp
firewall-cmd --permanent --service=ftp --add-port=20/tcp
# 添加上面设置的被动模式端口段 8000-8100/tcp
firewall-cmd --permanent --service=ftp --add-port=8000-8100/tcp
查看下次重启(防火墙重新加载、服务器重启或者系统重启)之后永久生效的服务:
firewall-cmd --permanent --list-service
ssh http ftp
查看下次重启(防火墙重新加载、服务器重启或者系统重启)之后永久生效的 ftp 服务的信息:
firewall-cmd --permanent --info-service=ftp
ftp
ports: 21/tcp 20/tcp 8000-8100/tcp
protocols:
source-ports:
modules: ftp
destination:
重新加载防火墙规则:
firewall-cmd --reload
注意: 阿里云主机需要在安全组规则中添加入方向的 20/tcp, 21/tcp, 8000-8100/tcp 端口。
FTP 客户端
推荐使用免费开源的全平台支持的 FileZilla:FileZilla 官方下载
添加站点信息,常规配置即可:
- 主机:填写主机 IP
- 端口:如果没改过端口不需填写
- 协议:FTP - 文件传输协议
- 加密:只使用普通的 FTP
- 登录类型:正常
- 用户:test
- 密码:test123
高级配置:
- 默认本地目录:选择电脑上面需要和服务器上面传输文件的路径
- 默认远程目录:一般情况下是根目录,就填写
/ - 同步浏览:开启后在两边界面切换目录时会同步切换,只有一边有的目录会提示是否下载或上传
- 比较浏览:会高亮显示两边不同的文件或目录,对齐显示都有的文件或目录
CentOS 7 安装配置 Vsftpd的更多相关文章
- Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)
Centos下安装配置LAMP(Linux+Apache+MySQL+PHP) 关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...
- CentOS 7安装配置Apache HTTP Server
原文 CentOS 7安装配置Apache HTTP Server RPM安装httpd # yum -yinstall httpd //安装httpd会自动安装一下依赖包: apr apr-ut ...
- CentOS 7 安装配置 NFS
CentOS 7 安装配置 NFS 环境 nps 192.168.1.97 client 192.168.1.98 一.yum 安装 yum -y install nfs-utils rpcbind ...
- 分布式文件系统 FastDFS 5.0.5 & Linux CentOS 7 安装配置(单点安装)——第一篇
分布式文件系统 FastDFS 5.0.5 & Linux CentOS 7 安装配置(单点安装)--第一篇 简介 首先简单了解一下基础概念,FastDFS是一个开源的轻量级分布式文件系统,由 ...
- CentOS 7安装配置Samba服务器
CentOS 7安装配置Samba服务器 CentOS 7下Samba服务器安装配置过程笔记. 假设我们有这样一个场景 共享名 路径 权限 SHAREDOC /smb/docs 所有人员包括来宾均可以 ...
- CentOS 7安装配置Samba服务器(挂载共享文件夹)
CentOS 7安装配置Samba服务器 CentOS 7下Samba服务器安装配置过程笔记. 假设我们有这样一个场景 共享名 路径 权限 SHAREDOC /smb/docs 所有人员包括来宾均可以 ...
- 记录:CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1
CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1 软件下载:http://download.csdn.net/download/qingchunwuxian1993/9897458 ...
- CentOS gitlab 安装配置
CentOS gitlab 安装配置 2018-11-02 11:23:09 Visit 5 在/etc/yum.repos.d 目录下创建文件gitlab-ce.repo,使用国内的安装源 b ...
- <转>CentOS 7 安装配置 NFS
CentOS 7 安装配置 NFS 环境 nps 192.168.1.97 client 192.168.1.98 一.yum 安装 yum -y install nfs-utils rpcbind ...
随机推荐
- 桌面面板和内部窗体JDeskPane、JInternalFrame
桌面面板和内部窗体JDeskPane.JInternalFrame,内部窗体必须在桌面面板里. import javax.swing.*; import java.awt.*; public clas ...
- redis服务意外停止
本地windows的redis一直好的,今天突然项目报错无法连接,不得解 看了下日志, [4824] 04 Mar 11:15:45.714 # Accepting client connection ...
- jmeter计算身份证校验位
idcard_no='111111198101017000' ; idcard_no_array = idcard_no.substring(0,17).toCharArray(); int[] c ...
- awk 处理文本:行转列,列转行
[root@centos ~]# cat f 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 51 2 3 4 5 awk '{for(i=1;i<=NF;i++)a ...
- 搭建Github博客:开始
先看效果:ious.ml 记录使用hexo搭建个人博客的过程 至于在博客里记录什么内容,现在还没想好.已经熟悉了博客园,不想换. 1.概念 Github Pages Github Pages可以被认为 ...
- 数据库操作中如何批量执行多个sql文件?
数据库操作中如何批量执行多个sql文件? 1.应用场景:在历史数据导入过程中,会发现有很多个表形成的.sql文件,要是一个一个文件去手动执行,实在是费时间,所以采取以下方法. 2.将文件放在一定位置, ...
- 使用sort函数进行排序
介绍 C++的一个重要组成部分STL(Standard Template Library),即标准模板库,是一些高级数据结构和算法的集合:高级数据结构(容器)主要包括list.set.vector.m ...
- cxf与spring的整合
cxf与spring的整合: 一:服务端相关配置(配置好后启动tomocat就自动发布了接口,浏览器打开验证下) 1:导入cxf以及spring的相关jar包; 2:在web.xml中增加配置: 代码 ...
- PS 使用笔记 - PS 让工作台适应 当前图层
1. PS 让工作台适应 当前图层 选中图层 打开 [图像]=>[裁切] 勾选以下,确定即可
- springboot(十七):过滤器(Filter)和拦截器(Interceptor)
概述 在做web开发的时候,过滤器(Filter)和拦截器(Interceptor)很常见,通俗的讲,过滤器可以简单理解为“取你所想取”,忽视掉那些你不想要的东西:拦截器可以简单理解为“拒你所想拒”, ...