需求
- 用户peter的家目录为/var/ftp/vuserdir/peter,他只有下载权限,没有其他权限(创建目录、重命名、删除、上传等);
- 用户ken的家目录为/var/ftp/vuserdir/ken,他有所有权限。
配置
# 创建本地用户(用于映射虚拟用户)
useradd -d /var/ftp/vuserdir -s /sbin/nologin vuser
# 为虚拟用户peter和ken创建虚拟目录
mkdir -m 555 /var/ftp/vuserdir/peter
mkdir -m 755 /var/ftp/vuserdir/ken
# 改变属主和属组
chown -R vuser:vuser /var/ftp/vuserdir/
# 创建虚拟用户文件(/etc/vsftpd/vftpuser.txt),内容如下
peter
111
ken
222
# 生成虚拟用户数据库文件
db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
# 安全起见,修改权限
chmod 600 /etc/vsftpd/vftpuser.db
# 修改/etc/pam.d/vsftpd文件,注释原来的内容,添加以下内容
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
# 用以下内容替换/etc/vsftpd/vsftpd.conf文件原来的内容
listen=YES
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/user_config
guest_enable=YES
guest_username=vuser
anonymous_enable=NO
local_enable=YES
# 创建虚拟用户配置文件目录
mkdir /etc/vsftpd/user_config
# 为虚拟用户peter创建个人配置文件(/etc/vsftpd/user_config/peter),内容如下
local_root=/var/ftp/vuserdir/peter
# 为虚拟用户ken创建个人配置文件(/etc/vsftpd/user_config/ken),内容如下:
local_root=/var/ftp/vuserdir/ken
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
# 重启vsftpd服务:
service vsftpd restart
时间: 2025-01-13 17:56:51