vsftp 虚拟用户

时间:2022-12-14 15:10:50

首先安装vsftp db-4
wiki

mkdir -p /opt/ftp
创建用户
sudo useradd virtual -d /opt/ftp -s /bin/false
sudo chown virtual:virtual /opt/ftp

创建虚拟用户

vi /etc/vsftpd/loguser.txt

格式如下
(用户名) admin
(密码) admin

db_load -T -t hash -f loguser.txt vsftp_login.db

修改/etc/pam.d/vsftpd

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

修改/etc/vsftpd/vsftpd.conf添加下面的选项

pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/conf
guest_enable=yes
guest_username=virtual

mkdir conf
在conf里创建 刚才用户名的配置文件 配置文件名要与用户名一样
admin要求具有上传删除权限
vi admin
write_enable=yes
download_enable=yes
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_world_readable_only=no
~
vi upload 用户只有上传权限

local_root=/var/ftp/share
download_enable=no
anon_upload_enable=yes
anon_other_write_enable=no
anon_mkdir_write_enable=yes
anon_world_readable_only=no

后记在此博客上发现如下说明http://yuanbin.blog.51cto.com/363003/129071
1. virtual_use_local_privs参数当 virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;当virtual_use_local_privs=NO 时,虚拟用户和匿名用户有相同的权限,默认是NO。 当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。 当 virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,anon_upload_enable=YES 时,虚拟用户不能浏览目录,只能上传文件,无其他权限。 当 virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=NO 时,虚拟用户只能下载文件,无其他权限。 当 virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=YES 时,虚拟用户只能上传和下载文件,无其他权限。 当 virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_mkdir_write_enable=YES 时,虚拟用户只能下载文件和创建文件夹,无其他权限。 当 virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_other_write_enable=YES 时,虚拟用户只能下载、删除和重命名文件,无其他权限。