Centos7.4-vsftpd
一定要关防火墙和selinux!!
1.匿名开放模式
yum install ftp vsftpd -y
vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
systemctl enable vsftpd
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
chown -Rf ftp /var/ftp/pub #因为默认pub目录所有者为root,匿名用户权限不允许访问,所以要更改所有者为ftp
利用ftp进行测试,创建修改删除均可执行。
2.本地用户模式
vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
这时普通用户已经可以用ftp进行登录了(因为用户创建的内容默认是在家目录,所以不存在权限不够不需要创建内容的事情发生)
但如果要使用root进行登录,则需要在/etc/vsftpd/user_list,/etc/vsftpd/ftpusers这两个名单是去掉root,不然会被禁止登录
去掉后,就可以用root用户正常登录了
1.虚拟用户模式
- 创建一个文档,在其中输入虚拟用户名,然后用db_load进行哈希加密。
- 创建一个本地用户(不允许本地登录),本地用户映射到虚拟用户的系统本地账户中。设置该用户家目录在/var目录下,并设置权限为755(读取=4,写入=2,执行=1)。
- 建立虚拟用户认证(PAM),认证文件为加密后的虚拟用户文档。
- 在vsftpd文档中开启虚拟用户模式,指定PAM文件,允许对ftp根目录进行写入操作。
- 为虚拟用户设置不同的权限,需新建一目录,在其中创建以用户名命名的文档,然后在需要权限的那个用户文档中写入权限。再在vsftp主文件中添加user_config_dir参数指定权限文件存放位置。
1.创建一个文档,在其中输入虚拟用户名,然后用db_load进行哈希加密,然后配置权限600。
2.创建一个本地用户(不允许本地登录),本地用户映射到虚拟用户的系统本地账户中。设置该用户家目录在/var目录下,并设置权限为755(读取=4,写入=2,执行=1)。
3.建立虚拟用户认证(PAM),认证文件为加密后的虚拟用户文档。
4.在vsftpd文档中开启虚拟用户模式,指定PAM文件,允许对ftp根目录进行写入操作。
5.为虚拟用户设置不同的权限,需新建一目录,在其中创建以用户名命名的文档,然后在需要权限的那个用户文档中写入权限。再在vsftp主文件中添加user_config_dir参数指定权限文件存放位置。
配置成功
/etc/vsftpd/vsfptd.conf其他参数
download_enable = YES 允许下载文件