CentOS7搭建VsFTP(虚拟用户方式登录)
说明:
ftp 根目录 : /data/ftp
ftp 配置文件目录:/etc/vsftpd
ftp 虚拟用户权限配置文件目录:/etc/vsftpd/vuser_config
实现目标:
1)匿名用户可以登录,但是不能访问虚拟用户的宿主目录,只能访问共享目录
2)虚拟用户对自己的宿主目录有任何权限,且只能在自己宿主目录中操作
1.安装vsftpd和libdb-utils(需要安装db包,用来加密虚拟用户的账户信息,centos7默认安装好了)
2.创建本地用户[用于映射虚拟用户]
// 建立ftp用户目录
3.创建虚拟用户[用户和密码]文件
4.加密用户密码文件生成数据库文件
5.创建PAM认证文件
6.修改配置文件
7.重启vsftpd服务
8.创建虚拟用户[权限]配置文件
9.更改虚拟用户目录权限
// 如果不更改的话,匿名用户是可以访问到的
10.测试访问。
11.添加用户(不需要重启vsftpd服务)
// 添加新用户test,密码为abcd
12.测试访问,此时添加的test用户的/data/ftp/test目录的权限是755,匿名用户可以登录。若要屏蔽,修改权限为700即可。
错误处理:
错误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.
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/235161.html