VSFTPD关于虚拟用户的配置方法

VSFTPD关于虚拟用户的配置方法

在配置文件vim /etc/vsftpd/vsftpd.conf 后添加如下参数

  • 开启虚拟用户组参数
# ---------开启虚拟用户组参数--------
# 开启虚拟用户
guest_enable=YES
# 主虚拟用户名,使用本机用户zoey
guest_username=zoey
# 虚拟用户配置(可以对每一个虚拟用户进行单独的权限配置)
user_config_dir=/etc/vsftpd/vconf
  • 虚拟用户高级参数(请选择一组)
# ---------虚拟用户高级参数(请选择一组)--------
# 虚拟用户和本地用户有相同的权限
virtual_use_local_privs=YES

# 虚拟用户和匿名用户有相同的权限,默认是NO
virtual_use_local_privs=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

本文中文件对应的功能

#vsftpd服务总配置文件
vim /etc/vsftpd/vsftpd.conf
#chroot管理用户文件列表
vim /etc/vsftpd/chroot_list
#虚拟用户文件(包括账号密码)
vim /etc/vsftpd/virtusers
#虚拟用户配置文件目录
cd /etc/vsftpd/vconf
#虚拟用户文件目录
cd /home/vsftpd/test
#PAM验证文件
vim /etc/pam.d/vsftpd

操作步骤

  1. 首先在主配置文件中加入chroot ,可以实现对用户的访问管理
  2. 添加虚拟用户列表(本文中创建了虚拟账户test)
vim /etc/vsftpd/virtusers

#写入账户和密码
test
123456
  1. 对虚拟用户列表生成数据库文件,并给权限
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
# 给虚拟用户数据库文件权限(读写权限即可)
chmod 600 /etc/vsftpd/virtusers.db
  1. 在PAM中添加vsftpd的虚拟用户的验证
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
  1. 建立虚拟用户配置目录及文件
#创建目录
mkdir -p /etc/vsftpd/vconf
#创建文件
vim /etc/vsftpd/vconf/test

#配置文件内容
# 用户 test 配置目录
local_root=/home/vsftpd/test
# 允许本地用户对FTP服务器文件具有写权限
write_enable=YES
anon_world_readable_only=NO
# 允许匿名用户上传文件(须将全局的write_enable=YES,默认YES)
anon_upload_enable=YES
# 允许匿名用户创建目录
anon_mkdir_write_enable=YES
# 允许匿名用户删除和重命名权限(自行添加)
anon_other_write_enable=YES
  1. 创建用户目录
mkdir -p /home/vsftpd/test
  1. 将虚拟用户test加入到被chroot控制的列表中,实现虚拟用户只能访问其自身目录
  2. 将虚拟用户文件夹的拥有者变为他自己
chown zoey.zoey /home/vsftpd/test