Centos7 vsftpd安装配置以及使用 阿里云

一、vsftpd简介

FTPFile transfer protocol的缩写,中文叫文本传输协议,是用于在网络上进行文件传输的一套标准协议,属于网络传输协议的应用层。注意,它是协议,不是软件,今天搭建的vsftpd是基于FTP开发的一套程序,也是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用。

二、安装vsftpd

1:安装vsftpd
[root@iZbp1f0xuq9rc41s6gdvfyZ ~]# yum install vsftpd

2:准备好其他资料,后面需要使用到
//创建系统用户vftp,并制定其家目录为/var/vusers
[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd]# useradd -d /var/vusers -s /sbin/nologin vftp 
//修改目录的权限使得其他用户也可以访问。
[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd]# chmod -Rf 755 /var/vusers/

3:创建好ftp根目录,初始化数据授权
[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd]# cd /
[root@iZbp1f0xuq9rc41s6gdvfyZ /]# mkdir /ftpDir
[root@iZbp1f0xuq9rc41s6gdvfyZ /]# chgrp vftp -R ftpDir/
[root@iZbp1f0xuq9rc41s6gdvfyZ /]# chown vftp -R ftpDir/

三、配置文件vsftpd.conf

[root@iZbp1f0xuq9rc41s6gdvfyZ ftpDir]# cd /etc/vsftpd/
[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd]# mv vsftpd.conf vsftpd.conf.bak
[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd]# vi vsftpd.conf

# Example config file /etc/vsftpd/vsftpd.conf
#
anonymous_enable=NO
#
local_enable=YES
#
write_enable=YES
#
local_umask=022
#
anon_mkdir_write_enable=YES
#
dirmessage_enable=YES
#
connect_from_port_20=YES
#配置的日志信息
xferlog_file=/var/log/xferlog
#
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
#
xferlog_std_format=YES
dual_log_enable=YES
#
chroot_local_user=YES
#
listen=NO
#
listen_ipv6=YES
#虚拟用户的账户密码等信息引用,一般登录不了都是这个地方的问题
pam_service_name=vsftpd.mysql
#
userlist_enable=YES
tcp_wrappers=YES

####激活虚拟账户
guest_enable=YES
####把虚拟账户绑定为系统账户vftp,这是我们第二步时创建的系统账户,使用虚拟的账户时,最终会用vftp实体账户操作系统
guest_username=vftp
#设置虚拟用户的主配置文件,第四步需要用到
user_config_dir=/etc/vsftpd/vsftpd_user_conf

###设置FTP服务器同一时刻最大的连接数
max_clients=200
###设置每ip的最大连接数
max_per_ip=10
###设置匿名用户最大的下载速率(单位字节)
anon_max_rate=1536000                                         
###设置本地用户最大的下载速率
local_max_rate=1536000
allow_writeable_chroot=YES
use_localtime=NO

##开启被动模式		服务器的端口有限,控制有限的端口
pasv_enable=YES
#被动模式最低端口
pasv_min_port=19000
#被动模式最高端口
pasv_max_port=19050

四、创建虚拟账户信息,并配置响应的信息

#创建虚拟账户以及密码
[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd]# vi vuser.account
#第一行是账户、第二行是密码
sigma
os3McXi2020
//生成虚拟账户的数据库信息
[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd]# yum install db4*
//生成用户加密文件
[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd]# db_load -T -t hash -f vuser.account vuser.account.db
//敏感文件限制只允许属主读写
[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd]# chmod 600 vuser.account.db
//给新虚拟账户配置信息,第三步提示了第四步需要做的事情
[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd]# mkdir vsftpd_user_conf
[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd]# cd vsftpd_user_conf
//创建一个我们的虚拟账户自己的配置文件,这样每个虚拟账户的配置信息可以不一样
[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd_user_conf]# vi sigma
####配置信息如下
anon_world_readable_only=NO
###允许上传
anon_upload_enable=YES
###建立和删除目录
anon_mkdir_write_enable=YES
####改名和删除文件
anon_other_write_enable=YES
#### 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。
local_root=/ftpDir/

###这个sigma是我们在上一级目录的vuser.account里面的账户哈,一定记得
###虚拟用户的PAM认证文件
###vsftpd的pam文件在/etc/pam.d/目录下
[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd_user_conf]# cd /etc/pam.d/
[root@iZbp1f0xuq9rc41s6gdvfyZ pam.d]# vi vsftpd.mysql 
##第三步我们在/etc/vsftpd里面生成了一个db文件:vuser.account.db,这里的配置就是去掉.db的配置
#%PAM-1.0
auth       required     /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser.account
account    required     /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser.account
###日志地址
[root@iZbp1f0xuq9rc41s6gdvfyZ /]# tail -f /var/log/vsftpd.log

第五步、可以重启服务使用了

[root@iZbp1f0xuq9rc41s6gdvfyZ vsftpd]# systemctl restart vsftpd

第六步、阿里云的配置21端口、19000/19050端口分配

大家不要给我的系统上传东西哦,我指不定什么时候就停服务器了,到时候有文件丢失我不管的。

发布了90 篇原创文章 · 获赞 79 · 访问量 63万+

猜你喜欢

转载自blog.csdn.net/yexiaomodemo/article/details/104004232
今日推荐