前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vsftpd 500 OOPS: cannot change directory

Vsftpd 500 OOPS: cannot change directory

作者头像
上山打老虎了
发布2022-06-15 08:45:22
1.2K0
发布2022-06-15 08:45:22
举报
文章被收录于专栏:Article

上一篇有讲到 ftp 设置用户登录的问题,然而由于权限的问题,折腾了各种配置依旧无法实现:某个用户登录后指定跳转至非根目录的目录这一需求,因此尝试换一种思路来实现。

我试了以下几种方案,均无效:

  1. setsebool ftpd_disable_trans 1 (Ubuntu server 没有安装 setsebool)SELinux 相关,猜测根目录设置在 /home 下有关
  2. chroot_list_file 相关的各种搭配

每次登录都会提示无法修改目录:

代码语言:javascript
复制
500 OOPS: cannot change directory:/test/docker/nginx/www.test.com

配置文件:

代码语言:javascript
复制
anonymous_enable=NO # 禁止匿名登录
local_enable=YES # 本地用户登录
write_enable=YES
local_umask=022
userlist_enable=YES
userlist_deny=NO
local_root=/home/ftp # ftp 根目录
use_localtime=YES
dirmessage_enable=YES
xferlog_enable=YES
port_enable=NO
xferlog_std_format=YES
pam_service_name=vsftpd
listen=YES
tcp_wrappers=YES
# 被动模式
pasv_enable=YES
pasv_min_port=50001
pasv_max_port=51001
allow_writeable_chroot=YES

配置的过程中有点绕的是 chroot_local_userchroot_list_enable 这两个配置,因为涉及到权限问题。

chroot_local_user=YES

chroot_local_user=NO

chroot_list_enable=YES

  1. 所有用户限制在其主目录下2. chroot_list_file 内指明的用户不受限制
  1. 所有用户不限制在其主目录下2. chroot_list_file 内指明的用户受限制

chroot_list_enable=NO

  1. 所有用户限制在其主目录下2. 忽略 chroot_list_file 内指明的用户
  1. 所有用户不限制在其主目录下2.忽略 chroot_list_file 内指明的用户

处理完权限问题后,使用 bind 的方式挂载任意位置的文件。

代码语言:javascript
复制
mount --bind /home/ftp/testUser/html /home/test/html

经过测试,原始文件文件夹需要有可执行权限,简单一点就是设置成 755, chmod -R 755

这样 FTP 登录后可以访问这个文件夹。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年12月06日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档