开发者社区 问答 正文

云服务器 ECS Linux 如何配置 vsftpd 限制 FTP 账户访问其它目录


ECS Linux系统中,使用 vsftpd 搭建 FTP 服务,可以配置用户登录后,限制访问其它的目录,只能进它的主目录。 配置方法如下:

1、打开 vsftp 的配置文件 vim /etc/vsftpd/vsftpd.conf  找到 chroot Chroot_local_user
      设置所有的本地用户都执行 chroot chroot_local_user=yes (本地所有帐户都只能在自家目录)
2、设置指定用户执行 chroot
      找到并修改 chroot_list_enable=yes  
3、chroot_list_file=/ 任意指定的路径 /chroot_list (文件中的名单可以调用)
注意:vsftpd.chroot_list 是没有创建的需要用户添加,要想控制帐号就直接在文件中加帐号即可
如下图:


如果问题还未能解决,您可以到阿里云社区进行 免费咨询,或联系 云市场商家寻求帮助。

展开
收起
boxti 2017-10-23 10:51:24 2710 分享 版权
阿里云 AI 助理回答

在ECS Linux系统中,通过vsftpd搭建FTP服务并限制用户仅访问其主目录的配置步骤如下:

  1. 打开vsftpd配置文件: 执行命令以编辑vsftpd的配置文件:

    vim /etc/vsftpd/vsftpd.conf
    
  2. 设置所有本地用户限制在自家目录: 在配置文件中找到chroot_local_user行,将其修改为以下设置,确保所有本地用户都被限制在其主目录内:

    chroot_local_user=yes
    
  3. 启用指定用户执行chroot: 修改chroot_list_enable的值为yes,以便可以单独控制哪些用户不受此限制:

    chroot_list_enable=yes
    
  4. 配置chroot_list文件路径: 设置chroot_list_file指向一个你将创建的文件,用于列出不受chroot限制的用户。例如:

    chroot_list_file=/path/to/chroot_list
    

    注意:请将/path/to/chroot_list替换为你希望存放该文件的实际路径。

  5. 创建chroot_list文件: 使用以下命令创建上述指定路径的chroot_list文件,并根据需要添加或不添加任何用户名(如果列表为空,则所有用户都将被限制):

    sudo touch /path/to/chroot_list
    sudo vim /path/to/chroot_list
    

    在此文件中,每行一个用户名,这些用户将不受限制,可以访问其他目录。如果不添加任何用户名,意味着所有用户都受限。

  6. 重启vsftpd服务: 保存配置文件后,重启vsftpd服务使更改生效:

    sudo systemctl restart vsftpd
    

完成以上步骤后,登录到FTP服务器的所有用户将默认被限制在各自的主目录下,除非他们被显式地添加到了chroot_list文件中。

重要提示: - 确保配置文件修改无误,避免因格式错误导致服务无法启动。 - 如果你的环境使用的是SELinux,请确保正确设置了SELinux上下文,以免权限问题影响FTP服务正常运行。 - 考虑到安全因素,建议定期检查和维护FTP服务配置,特别是与用户权限相关的设置。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答