vsftp配置虚拟用户,目标:把用户限定在自己的目录中

0. Notice

环境是64位的Centos6.3

牵涉到的用户 实体用户 vsftpuser (linux用户)

虚拟用户 ftpuser 这个只是vsftp 配置中的用户,非linux 用户

1.安装vsftp (此处略去50字)

2.生成密码数据库

用户密码文件 /etc/vsftpd/vuser.list,一行用户一行密码

ftpuser
ftppass

生成密码库的命令如下:

db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db
chmod 600 /etc/vsftpd/vuser.db

2.1 /etc/pam.d/vsftpd.vu

auth    required    /lib64/security/pam_userdb.so    db=/etc/vsftpd/vuser
account    required    /lib64/security/pam_userdb.so    db=/etc/vsftpd/vuser

3.配置主文件 /etc/vsftpd/vsftpd.conf


#disable anonymous
anonymous_enable=NO

#user config
local_enable=YES
write_enable=YES
local_umask=022

###virtual user config###
guest_enable=YES
guest_username=vsftpuser
user_config_dir=/etc/vsftpd/user.d

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

#server config
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd.vu
tcp_wrappers=YES
use_localtime=YES
pasv_enable=YES
anon_world_readable_only=NO
allow_writeable_chroot=YES

4. chroot

编辑文件 /etc/vsftpd/chroot_list


#实体用户

vsftpuser

5.创建实体用户用来做所有虚拟用户的handler

useradd -s /sbin/nologin -d /home/vsftpuser vsftpuser

6.虚拟用户配置文件 /etc/vsftpd/user.d/ftpuser


#虚拟用户根目录

local_root=/home/vsftpuser/ftpuser
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

7.创建虚拟用户根目录

mkdir /home/vsftpuser/ftpuser
chown vsftpuser.vsftpuser /home/vsftpuser/ftpuser

8.重启

/etc/init.d/vsftpd restart
Share