如何限制vsftp用户不能改变目录到上级目录

如果使用者的预设目录为/home/username,若我们不希望使用者在ftp 时能够 
切换到上一层目录/home,则可以使用以下步骤。 
1、 修改/etc/vsftpd/vsftpd.conf中的如下项:
#chroot_list_enable=YES
# (default follows) 
#chroot_list_file=/etc/vsftpd.chroot_list 
改为 
chroot_list_enable=YES 
# (default follows) 
chroot_list_file=/etc/vsftpd/chroot_list 
2、新增一个档案: /etc/vsftpd/chroot_list,内容为需要限制的用户名列表,如: 
peter
john
3、重新启动vsftpd 
[root@home vsftpd]# /sbin/service vsftpd restart 
Shutting down vsftpd: OK ] 
Starting vsftpd for vsftpd: OK ] 
如果设定了限制的用户欲切换到其根目录以外的目录,则会出现以下警告: 
ftp> cd /home 
550 Failed to change directory.

VSFTP(Very Secure FTP Server)是一个开源的轻量级FTP服务器,用于提供基本的文件传输服务。如果你想在VSFTP中创建用户限制其只能访问特定目录,但不能访问上层目录,你可以按照以下步骤操作: 1. **安装和配置VSFTP**: - 首先,从VSFTP官网下载源码或者通过包管理器安装(比如Debian/Ubuntu使用`apt-get install vsftpd`)。 - 完成基础配置,通常位于 `/etc/vsftpd.conf` 文件。 2. **创建用户**: - 使用`useradd`命令创建新用户,如 `sudo useradd -d /path/to/home/user_name ftp_user`,指定用户的主目录,这里设为不能访问上层目录的位置。 3. **编辑用户权限**: - 打开vsftpd配置文件,在 `[user_config]` 或 `[virtual_users]` 部分,添加或修改对应用户的信息,例如: ``` local_enable=YES chroot_local_user=YES pam_service_name=vsftpd user_sub_token=$USER ``` `- `local_enable=YES` 允许本地登录。 `- `chroot_local_user=YES` 将用户的根目录锁定在其家目录内,防止他们向上层目录移动。 `- `pam_service_name=vsftpd` 和 `user_sub_token=$USER` 用于PAM认证,确保每个用户只能看到自己的资源。 4. **限制目录访问**: - 确保用户只能访问的目录有适当的读写权限,例如: ``` chmod 700 /path/to/home/user_name chmod 550 /path/to/home/user_name/public_dir ``` `- `chmod 700` 设置用户目录为私有(只有用户自己能进)。 `- `chmod 550` 设置公共目录为只读,允许用户查看和下载内容。 5. **重启VSFTP服务**: - 修改完配置后,重启vsftpd服务 `sudo systemctl restart vsftpd`.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值