centos7下安装vsftp

一、关闭防火墙和selinux

setenforce 0;sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

systemctl stop firewalld.service
systemctl disable firewalld.service

二、安装vsftpd

yum install -y vsftpd

# 安装依赖包(可不装试试)
yum install -y psmisc net-tools systemd-devel libdb-devel perl-DBI

三、设置开机启动

# 四、设置开机启动
systemctl start vsftpd.service
systemctl enable vsftpd.service

五、修改配置文件

# 首先备份配置文件
cp /etc/vsftpd/vsftpd.conf{,.bak}

# 进行如下修改

anonymous_enable=NO    # 不允许匿名访问,禁用匿名登录
chroot_local_user=YES   # 启用限定用户在其主目录下
use_localtime=YES     # 使用本地时(自行添加)
chroot_list_enable=YES
local_enable=YES      # 允许使用本地帐户进行FTP用户登录验证
allow_writeable_chroot=YES # 如果启用了限定用户在其主目录下需要添加这个配置,解决报错 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
xferlog_enable=YES     # 启用上传和下载的日志功能,默认开启。
local_umask=022      # 设置本地用户默认文件掩码022
# FTP上本地的文件权限,默认是077,不过vsftpd安装后的配置文件里默认是022

# 文件最后添加
guest_enable=YES
guest_username=vsftp
user_config_dir=/etc/vsftpd/vconf
virtual_use_local_privs=YES 

六 添加ftp虚拟用户映射的本地用户

mkdir /data/ftp
useradd vsftp -d /data/ftp -s /sbin/nologin

七、添加ftp虚拟用户和密码

touch /etc/vsftpd/virtusers

vi /etc/vsftpd/virtusers

xie
666
lu
111
zhang
777
liu
888

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

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
chmod 600 /etc/vsftpd/virtusers.db

九、在/etc/pam.d/vsftpd的文件头部加入以下信息(在后面加入无效)

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

十、创建虚拟用户个人配置文件

mkdir /etc/vsftpd/vconf

vim /etc/vsftpd/vconf/xie

local_root=/home/vsftp/xie/                                                                                                                                                                  
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES


最后:重启

systemctl restart vsftpd.service

你可能感兴趣的:(centos7下安装vsftp)