Home » Uncategorized » 系统环境 centos7.3 版本 安装vsftpd 【测试通过 181228】

系统环境 centos7.3 版本 安装vsftpd 【测试通过 181228】

ftp 根目录 : /data/ftp
ftp 配置文件目录:/etc/vsftpd
ftp 虚拟用户权限配置文件目录:/etc/vsftpd/vuser_config

实现目标:

1,匿名用户可以登录,但是不能访问虚拟用户的宿主目录,只能访问共享目录
2,虚拟用户对自己的宿主目录有任何权限,且只能在自己宿主目录中操作


1,安装vsftpd和db_load加密工具

#要关闭selinux 和防火墙或者开启允许的端口,不然访问会有问题
sedi‘s/SELINUX=enforcing/SELINUX=disabled/’/etc/selinux/config#修改配置文件
setenforce0  #临时关闭
systemctl stop firewalld.service#关闭防火墙
yum install vsftpd db4utilsy

2,创建本地用户[用于映射虚拟用户]

#建立ftp用户目录
mkdirp/data/ftp
#创建用户
useraddd/data/ftp vusers/sbin/nologin
更改权限和主组权限
chmod755/data/ftp
chownvuser.root/data/ftp

3,创建虚拟用户[用户和密码] 文件

vim/etc/vsftpd/vuserlist
jin[用户名]
123456[密码]
jinc[用户名]
123123[密码]

4,加密用户密码文件生成数据库文件

cd/etc/vsftpd/
db_loadTthashf./vuserlist./vuserlist.db
chmod600vuserlist.db

5,创建PAM认证文件

vim /etc/pam.d/vuser.vu

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuserlist    #注意64位系统写/lib64这个路径,32位系统要写成/lib,下同!
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuserlist

6,修改配置文件

7,创建虚拟用户[权限] 配置文件

8,更改虚拟用户目录权限

9,访问测试:[先在用户文件夹中建个测试的文件夹或文件,方便识别]

匿名访问

登录jin 用户访问:

登录jinc 用户访问:


错误1:226 Transfer done (but failed to open directory)
解决:selinux 和防火墙导致

错误2:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
解决:配置文件中加入 allow_writeable_chroot=YES 针对标准vsftpd(standonly)模式, 然后重启ftp