vsftp这个神奇的服务好久没有弄了,记得上次弄还是在学校的时候,哈哈。 今天抽风搭建一下,试试!
其实安装起来很简单,就是由于版本的问题,遇到了两个问题,下面我会一一阐述。
一.安装

sudo apt-get install vsftpd

安装很简单,就需要这一步就安装了vsftpd服务了。
二.配置文件

/etc/vsftpd.conf ----vsftpd的主配置文件
/etc/vsftpd.user_list  ----用户登陆的配置文件,这个文件名字以及路径可以自己指定,在配置文件中改一下就好。

三.修改配置文件
需求:
1.实现只有指定的用户可以登陆,没有指定的用户无法登陆。
2.实现系统账户无shell登陆权限。
3.指定/opt/api/public为登陆用户的主目录。
4.用户需要固定在宿主目录下,无法往上继续查看。
5.public目录下的sersion.json文件可以实现修改,其它文件及目录只能查看。

1.创建用户uftp
sudo useradd -d /opt/api/public -s /usr/sbin/nologin uftp
2.修改配置文件
local_enable=YES   #需要把前面的‘#’号去掉,允许系统用户登陆
write_enable=YES   #需要把前面的‘#’号去掉,允许用户修改文件
#xzy
userlist_file=/etc/vsftpd.user_list   #指定那些文件可以登陆
userlist_enable=YES                      #开启用户白名单
userlist_deny=NO                          #当本参数设置为NO的是,上面指定的列表文件为白名单,如果为YES的是,则反之。[两个参数的作用描述](https://blog.csdn.net/bluishglc/article/details/42273197)
#xzy
chroot_local_user=YES   #开启用户固定在宿主目录
#从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。解决此错误,在配置文件中添加下面参数
allow_writeable_chroot=YES
#vsftpd通过pam进行验证shell,而nologin 和 false 是不在/etc/shells中的,所以验证不能通过。解决办法注释pam验证,并关掉shell验证
#auth  required    pam_shells.so    #注释此行
check_shell=NO #添加此行
3.修改宿主目录下的version.json文件的权限
sudo chmod 777 /opt/api/public/version.json
4.在/etc/vsftpd.user_list文件中添加uftp账号
   echo 'uftp' > /etc/vsftpd.user_list
5.重启vsftp服务
   /etc/init.d/vsftpd restart

四.验证登陆效果
下载ftp客户端,个人感觉FileZilla体验效果很差劲,所以我推荐:flashFXP本软件我没有找到mac版本的,我只有win版本的。
下载地址:详见csdn,上传后还没有审核过,嘎嘎