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 是没有创建的需要用户添加,要想控制帐号就直接在文件中加帐号即可
如下图:
如果问题还未能解决,您可以到阿里云社区进行
免费咨询,或联系
云市场商家寻求帮助。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在ECS Linux系统中,通过vsftpd搭建FTP服务并限制用户仅访问其主目录的配置步骤如下:
打开vsftpd配置文件: 执行命令以编辑vsftpd的配置文件:
vim /etc/vsftpd/vsftpd.conf
设置所有本地用户限制在自家目录: 在配置文件中找到chroot_local_user
行,将其修改为以下设置,确保所有本地用户都被限制在其主目录内:
chroot_local_user=yes
启用指定用户执行chroot: 修改chroot_list_enable
的值为yes
,以便可以单独控制哪些用户不受此限制:
chroot_list_enable=yes
配置chroot_list文件路径: 设置chroot_list_file
指向一个你将创建的文件,用于列出不受chroot限制的用户。例如:
chroot_list_file=/path/to/chroot_list
注意:请将/path/to/chroot_list
替换为你希望存放该文件的实际路径。
创建chroot_list文件: 使用以下命令创建上述指定路径的chroot_list
文件,并根据需要添加或不添加任何用户名(如果列表为空,则所有用户都将被限制):
sudo touch /path/to/chroot_list
sudo vim /path/to/chroot_list
在此文件中,每行一个用户名,这些用户将不受限制,可以访问其他目录。如果不添加任何用户名,意味着所有用户都受限。
重启vsftpd服务: 保存配置文件后,重启vsftpd服务使更改生效:
sudo systemctl restart vsftpd
完成以上步骤后,登录到FTP服务器的所有用户将默认被限制在各自的主目录下,除非他们被显式地添加到了chroot_list
文件中。
重要提示: - 确保配置文件修改无误,避免因格式错误导致服务无法启动。 - 如果你的环境使用的是SELinux,请确保正确设置了SELinux上下文,以免权限问题影响FTP服务正常运行。 - 考虑到安全因素,建议定期检查和维护FTP服务配置,特别是与用户权限相关的设置。