Cenos7下指定ftp用户限制在特定目录下(亲身实践)

本文详细介绍如何在CentOS7中配置vsftpd,以限制FTP用户仅能访问指定项目目录,防止用户访问项目外的其他目录。通过修改vsftpd.conf配置文件并设置chroot_list,确保用户在登录后无法切换到父目录或同级目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好了,废话不多说。上头下来个需求,让我给别人开个ftp账户,只能访问项目的目录,不能访问项目外的目录,就算cd切换目录也不行。

开始:

第一步;安装ftp,我用的是centos7,只需敲入命令

  yum install vsftpd

    chkconfig vsftpd on  #设置开机启动

第二步配置 vsftpd.conf

  做这一步,先备份好配置  cp vsftpd.conf vsftpd.conf_bak,然后修改下面3行代码,将注释去掉

  

为了防止报错,在文末加一行

allow_writeable_chroot=YES

如果不加上面一行,会出现如下截图:

然后再新建chroot_list文件。

 

实现方法是有2种思路的;

第一种:

chroot_local_user=YES   #设置是否锁定本地用户在自己的主目录中,(登录后无法cd到父目录或同级目录中) 
chroot_list_enable=YES   #设置是否将用户锁定在自己的主目录中 
chroot_list_file=/etc/vsftpd/chroot_list      #定义哪些用户将会锁定在自己的主目录中 

解释:chroot_local_user=YES将所有用户限定在主目录内,chroot_list_enable=YES表示要启用chroot_list_file, 因为chroot_local_user=YES,即全体用户都被“限定在主目录内”,所以总是作为“例外列表”的chroot_list_file这时列出的是那些“不会被限制在主目录下”的用户。

第二种:

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

解释:chroot_local_user=NO则所有用户不被限定在主目录内,chroot_list_enable=YES表示要启用chroot_list_file, 因为chroot_local_user=NO,即全体用户都“不被限定在主目录内”,所以总是作为“例外列表”的chroot_list_file这时列出的是那些“会被限制在主目录下”的用户。


配置好后

重启vsftp :  service vsftpd restart #重启vsftpd

 

第三步:

useradd -d /home/www -m /home/www 用户                ##-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录

 

passwd 用户     #修改用户名

 

最后:

chown  -R ftp用户名:root    项目目录

我的是:  chown  -R test:root  /home/ftptest/ 

 

我们来测试一下:

 

 还可以这样测试

当然你也可以在浏览器输入ftp://XXXXXX

 至此,大功搞成!

转载于:https://www.cnblogs.com/wujf-myblog/p/11352036.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值