Centos7.4-vsftpd

一定要关防火墙和selinux!!

1.匿名开放模式

yum install ftp vsftpd -y

vim /etc/vsftpd/vsftpd.conf

Centos7.4-vsftpd

 

systemctl restart vsftpd

systemctl enable vsftpd

setenforce 0

systemctl stop firewalld

systemctl disable firewalld

chown -Rf ftp /var/ftp/pub  #因为默认pub目录所有者为root,匿名用户权限不允许访问,所以要更改所有者为ftp

利用ftp进行测试,创建修改删除均可执行。

Centos7.4-vsftpd

 

2.本地用户模式

vim /etc/vsftpd/vsftpd.conf

Centos7.4-vsftpd

systemctl restart vsftpd

这时普通用户已经可以用ftp进行登录了(因为用户创建的内容默认是在家目录,所以不存在权限不够不需要创建内容的事情发生)

但如果要使用root进行登录,则需要在/etc/vsftpd/user_list,/etc/vsftpd/ftpusers这两个名单是去掉root,不然会被禁止登录

去掉后,就可以用root用户正常登录了

Centos7.4-vsftpd

 

1.虚拟用户模式

  1. 创建一个文档,在其中输入虚拟用户名,然后用db_load进行哈希加密。
  2. 创建一个本地用户(不允许本地登录),本地用户映射到虚拟用户的系统本地账户中。设置该用户家目录在/var目录下,并设置权限为755(读取=4,写入=2,执行=1)。
  3. 建立虚拟用户认证(PAM),认证文件为加密后的虚拟用户文档。
  4. 在vsftpd文档中开启虚拟用户模式,指定PAM文件,允许对ftp根目录进行写入操作。
  5. 为虚拟用户设置不同的权限,需新建一目录,在其中创建以用户名命名的文档,然后在需要权限的那个用户文档中写入权限。再在vsftp主文件中添加user_config_dir参数指定权限文件存放位置。

 

1.创建一个文档,在其中输入虚拟用户名,然后用db_load进行哈希加密,然后配置权限600。Centos7.4-vsftpd

 

2.创建一个本地用户(不允许本地登录),本地用户映射到虚拟用户的系统本地账户中。设置该用户家目录在/var目录下,并设置权限为755(读取=4,写入=2,执行=1)。

Centos7.4-vsftpd

 

3.建立虚拟用户认证(PAM),认证文件为加密后的虚拟用户文档。

Centos7.4-vsftpd

Centos7.4-vsftpd

 

 

 

4.在vsftpd文档中开启虚拟用户模式,指定PAM文件,允许对ftp根目录进行写入操作。

Centos7.4-vsftpd

Centos7.4-vsftpd

 

 

5.为虚拟用户设置不同的权限,需新建一目录,在其中创建以用户名命名的文档,然后在需要权限的那个用户文档中写入权限。再在vsftp主文件中添加user_config_dir参数指定权限文件存放位置。

Centos7.4-vsftpd

Centos7.4-vsftpdCentos7.4-vsftpd

 

 

 

 

Centos7.4-vsftpd

配置成功

 

/etc/vsftpd/vsfptd.conf其他参数

download_enable = YES 允许下载文件