Centos7安装vsftp服务,配置用户,并使用nginx开启访问

一、安装vsftpd和ftp客户端

1.安装vsftp

yum -y install vsftpd

Centos7安装vsftp服务,配置用户,并使用nginx开启访问_第1张图片
可以看到安装成功,版本为3.0.2,安装成功之后默认是未启动的,我们需要手工启动

2.启动vsftp并设置为开机自启

systemctl start vsftpd

在这里插入图片描述

# 停止
systemctl stop vsftpd
# 重启
systemctl restart vsftpd

设置为开机自启动

systemctl enable vsftpd.service

3.测试ftp服务是否开启成功

启动成功后,使ftp客户端访问测试一下,需要先安装ftp客户端

yum -y install ftp
ftp localhost

用户名:ftp
密码:任意字符串(默认支持匿名访问)
ftp>dir 查看文件目录
Centos7安装vsftp服务,配置用户,并使用nginx开启访问_第2张图片

二、配置用户和访问权限

1.配置vsftpd

cd /etc/vsftpd

Centos7安装vsftp服务,配置用户,并使用nginx开启访问_第3张图片
编辑vsftpd.conf文件

vim vsftpd.conf

修改以下配置:

#不允许匿名访问
anonymous_enable=NO    
......
#限制用户通过ftp只能访问自己的主目录
chroot_local_user=YES
#是否开启例外名单
chroot_list_enable=NO
#例外名单的路径
chroot_list_file=/etc/vsftpd/chroot_list
#主目录允许写
allow_writeable_chroot=YES

chroot_local_user和chroot_list_enable的关联关系如下

chroot_local_user=YES chroot_local_user=NO
chroot_list_enable=YES 所有ftp用户都被限定只能访问自己的主目录;chroot_list_file用于指定哪些用户不受此限制,即这些用户可以访问自己主目录外的目录 所有ftp用户都可以访问自己主目录外的目录;chroot_list_file用于指定哪些用户不受此限制 ,即这些用户只能访问自己的主目录
chroot_list_enable=NO 所有ftp用户都被限定只能访问自己的主目录;不存在例外情况,chroot_list_file无效 所有ftp用户都可以访问自己主目录外的目录;不存在例外情况,chroot_list_file无效

如果不需要配置例外用户,则必须要把chroot_list_enable设置为NO,或者手动创建一个空的chroot_list
在这里插入图片描述
修改完配置文件后重启

systemctl restart vsftpd

2.新增FTP用户

#新增ftp用户ftpuser,设置其主目录/home/ftpuser
useradd -d /home/ftpuser ftpuser
#给用户ftpuser设置密码
passwd ftpuser
#限制用户只能用户ftp登录
usermod -s /sbin/nologin ftpuser

这个时候使用ftp客户端登录,有可能会提示登录失败
Centos7安装vsftp服务,配置用户,并使用nginx开启访问_第4张图片
由于我们上面把用户shell设置为了/sbin/nologin,可以通过命令查看,但是/ect/shells里没有/sbin/nologin,需要手动添加

cat /etc/passwd

在这里插入图片描述

vim /etc/shells

添加一行/sbin/nologin
Centos7安装vsftp服务,配置用户,并使用nginx开启访问_第5张图片

3.使用ftp客户端测试

#登录ftp服务
ftp localhost
#查看当前目录下的文件
ftp> dir
#切换到用户根目录,如果该用户允许访问主目录外的权限,则此运行此命令会访问到系统的根目录
ftp> cd /
#创建文件夹
ftp> mkdir test
#查看是否创建成功
ftp> dir

可以看到test文件夹创建成功Centos7安装vsftp服务,配置用户,并使用nginx开启访问_第6张图片

三、配置nginx访问ftp文件

nginx安装可访问
https://blog.csdn.net/yuer5531/article/details/104629475
添加ftp目录到nginx配置,

		location ^~ /profiles/ {
            alias /home/ftpuser/;
        }

使用浏览器访问
http://localhost/profiles/test/1.jpg
即对应文件文件目录/home/ftpuser/test/1.jpg
Centos7安装vsftp服务,配置用户,并使用nginx开启访问_第7张图片

你可能感兴趣的:(Centos服务器)