linux 搭建ftp服务并设置限制访问目录

服务器有好几个项目,新项目前端外包,由于要微信受权登录,因此前端没有办法本地调试,必须上次ftp在咱们服务器上调试代码,固然要限制ftp访问的目录,不然整个服务器项目都能看到了.前端

安装vsftpd

sudo apt install vsftpd

 RedHat系web

yum install vsftpd

添加ftp用户

添加ftp帐户 myusername  设置限定访问目录 /home/wwwroot/webfooter/viewsubuntu

useradd -d  /home/wwwroot/webfooter/views  myusername

设置帐户密码安全

passwd myusername

禁止用户telnet服务器

usermod -s /sbin/nologin myusername

 

修改配置文件

Debian系的配置文件在: /etc/vsftpd.conf微信

RedHat系的配置文件在: /etc/vsftpd/vsftpd.confide

修改vsftpd.conf 文件,去掉下面两行注释加密

chroot_list_enable=YES         //限制访问自身目录
chroot_list_file=/etc/vsftpd.chroot_list

RedHat系为chroot_list_file=/etc/vsftpd/chroot_listspa

若是没有vsftpd.chroot_list 自行新建, 将受限制的用户添加进去,每一个用户名一行.调试

而后在新增如下代码

allow_writeable_chroot=YES

表示给受限制的用户写入的权限,若是不添加上面代码可能会出现: 

vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

 

重启ftp服务

service vsftpd restart

 

问题

Filezilla提示不安全的服务器,不支持 FTP over TLS。

解决办法: 文件-站点-加密协议改成使用普通FTP(不安全)

 

目录权限

指定的目录应该给予755或777 的权限

 

链接错误 331 Please specify the password 

出现错误的缘由,是由于ubuntu启用了PAM,用vsftp时须要用到 /etc/pam.d/vsftpd 这个文件(默认源码安装的不会有这个文件),所以除了匿名用户外本地用户没法登陆。因此解决的办法就是删除这个文件.

sudo rm /etc/pam.d/vsftpd
相关文章
相关标签/搜索