linux ftp禁锢宿主目录,linux 搭建ftp服务并设置限制访问目录

服务器有好几个项目,新项目前端外包,因为要微信授权登陆,所以前端没有办法本地调试,必须上次ftp在我们服务器上调试代码,当然要限制ftp访问的目录,否则整个服务器项目都能看到了.

安装vsftpd

sudo apt install vsftpd

RedHat系

yum install vsftpd

添加ftp用户

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

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

设置账户密码

passwd myusername

禁止用户telnet

usermod -s /sbin/nologin myusername

修改配置文件

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

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

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

chroot_list_enable=YES //限制访问自身目录

chroot_list_file=/etc/vsftpd.chroot_list

RedHat系为chroot_list_file=/etc/vsftpd/chroot_list

如果没有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(不安全)

f54d37e8a8f1331467d405f8f3b3e05d.png

目录权限

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

连接错误 331 Please specify the password

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

sudo rm /etc/pam.d/vsftpd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值