vsftp 创建用户和指定访问目录,而且不能访问上层目录
时间: 2024-09-30 22:10:31 浏览: 33
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`.
阅读全文