一、关闭防火墙和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
网友评论