在Liunx上搭建FTP并配置用户权限

伴随着.Net Core 的开源,公司前几天上了新的 Liunx 服务器,我在前几篇文章中介绍了如何搭建环境以及部署.Net Core 应用。

然后,今天客户和我说想自己给网站做推广,需要用 FTP 链接我们的服务器,然后我就把爬坑的经验分享出来。

环境:CentOS7.4-x64;

一、先检查服务器的 21 端口是否开放

二、使用 Yum 安装 vsftpd

 登录到 Liunx 服务器,输入 yum install vsftpd 安装过程也就十几秒

安装完成之后运行命令 service vsftpd start 启动 ftp  

查看 ftp 状态 systemctl status vsftpd

三、新建用户并设置该用户的访问目录

新建用户:useradd -d  /home/web  customer   这样就新建了一个用户并指定他的访问目录是 /home/web

 

设置密码:passwd cystomer

 

查看用户 UID  GID  以及访问目录

输入: cat  /etc/passwd 可以看见刚才新建的用户 customer 的用户 id:1004  租 id:1004 家目录:/home/web

四、配置用户 ftp 权限以及访问路径

在 /etc/vsftpd 下找到 vsftpd.conf 文件

查找以下三项:如果找不到其中的某项请在文件最下面加上就好, 一般这三项都没有

  userlist_enable=YES  #访问限制开关 

  userlist_deny=NO    #只允许 userlist_file 中的用户访问 FTP
  userlist_file=/etc/vsftpd/user_list  #允许访问的用户列表文件位置
 
 
打开上面指定的用户列表文件在文件中填入我们刚才创建的 customer 用户,每个用户一行
 
 

 

开启文件路径限制:

在 vsftp.conf 中找到 #chroot_list_enable=YES   去掉 #注释开启功能

找到 #chroot_list_file:chroot_list_file=/etc/vsftpd/chroot_list   去掉 #注释,这个配置指定了限制路径文件的配置

 

 

找到 /etc/vsftpd/chroot_list 文件,如果没有的话就新建一个,把用户名填进去,一个用户名一行。

保存之后重启 vsftp:systemctl restart vsftpd

使用客户端访问,发现访问成功。

推荐客户端:FileZilla Client

后续问题 1、客户端请把被动模式设置为主动模式

2、用户如果不能上传和下载文件请把文件夹的权限设置为 777,并且在 vsftpd.conf 中加入 allow_writeable_chroot=YES

让用户可以有读取的权限

命令:  chmod -R 777 /home/web