本篇文档主要讲基于Linux上本地用户进行访问的FTP服务器的快速搭建步骤。

如果是想进阶学习FTP,如基于mysql的虚拟用户的配置,不应该参考本篇文档。

参考文档:http://www.178linux.com/52605

https://help.aliyun.com/document_detail/51998.html

以下是配置步骤:

1、安装vsftp

~]# yum install -y vsftp

2、相关配置文件

 ~]# cd /etc/vsftpd/
vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
/etc/vsftpd/vsftpd.conf     //主配置文件,核心配置文件
/etc/vsftpd/ftpusers        //黑名单,这个里面的用户不允许访问FTP服务器
/etc/vsftpd/user_list       //白名单,允许访问FTP服务器的用户列表

3、启动服务,添加开机自动启动

服务启动与关闭
~]# systemctl start vsftpd.service
~]# systemctl enable vsftpd.service
~]# netstat -antup | grep ftp
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      2579/vsftpd         
tcp        0      0 10.1.252.97:21              10.1.250.64:54777           ESTABLISHED 2582/vsftpd

4、使用匿名用户访问

vsftp默认配置匿名用户可以访问/var/ftp/pub目录,可读不可以写

CentOS7上快速搭建FTP服务器,基于本地用户访问

5、配置本地用户登录访问

(1)创建本地用户,并设置密码

~]# useradd -d /var/www/html/ -s /sbin/nologin wlm
~]# passwd wlm

(2)修改配置文件,开启本地用户可以访问

~]# vim /etc/vsftpd/vsftpd.conf
local_enable=YES
如果不想使用匿名用户,可以如下设置:
anonymous_enable=NO   # 匿名用户登陆 允许

(3)修改目录权限

    本地用户登录,默认使用的是该用户的家目录,配置登录用户对该目录可读可写

    如果想改变本地用户的根目录,可以在配置文件里指定:local_root=/local

~]# chmod o+w /var/www/html/
~]# ll /var/www/
drwxr-xrwx. 2 root root 63 5月  12 11:53 html

(4)登录账户测试

没有关闭匿名用户访问,直接输入ftp://host默认登录的是匿名用户的pub目录,可以使用ftp://[email protected]的方式来指定登录账号
例如:ftp://[email protected]

CentOS7上快速搭建FTP服务器,基于本地用户访问

CentOS7上快速搭建FTP服务器,基于本地用户访问