文件夹"/>
Linux vsftpd 设置不同用户访问各自独立的文件夹
工作中经常需要设置一个FTP sever,然后把不同数据上传提供给不同客户下载。我们希望客户只能看见和下载他们自己的数据,因此就需要配置FTP sever使得不同客户端clients登录时进入不同的根文件夹。
以下是关于如何在Linux (Ubuntu)配置FTP server (vsftpd) 使得不同用户有不同的Home文件夹。
1. 安装vsftpd
sudo apt install vsftpd
2. 创建多个用户
sudo adduser guest1
sudo adduser guest2
3. 修改配置文件/etc/vsftpd.conf, 添加以下内容
chroot_local_user=YES
user_config_dir=/etc/vsftpd_user_list/
allow_writeable_chroot=YES
4. 创建用户列表文件夹
sudo mkdir /etc/vsftpd_user_list/
5. 在/etc/vsftpd_user_list/下创建多用户配置文件
新建文件/etc/vsftpd_user_list/guest1,并增加以下内容
local_root=/home/guest1
write_enable=YES
新建文件/etc/vsftpd_user_list/guest2,并增加以下内容
local_root=/home/guest2
write_enable=YES
6. 重启vsftpd.service
sudo systemctl restart vsftpd.service
The End
测试时遇到的问题和解决方法
错误1
客户端登录后可以访问Home 文件夹的上层文件夹
原因是chroot_local_user=NO 没改成 ‘YES’
错误2
Command: USER xxx Response: 331 Please specify the password. Command: PASS ****************** Response: 500 OOPS: vsftpd: refusing to run with writable root inside chroot() Error: Critical error: Could not connect to server
原因是因为/etc/vsftpd.conf里没加 "allow_writeable_chroot=YES"
更多推荐
Linux vsftpd 设置不同用户访问各自独立的文件夹
发布评论