环境是64位的Centos6.3
牵涉到的用户 实体用户 vsftpuser (linux用户)
虚拟用户 ftpuser 这个只是vsftp 配置中的用户,非linux 用户
1.安装vsftp (此处略去50字)
yum install -y vsftpd
2.生成密码数据库
用户密码文件 /etc/vsftpd/vuser.list,一行用户一行密码
macor
123456
生成密码库的命令如下:
db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db
chmod 600 /etc/vsftpd/vuser.db
2. vi /etc/pam.d/vsftpd.vu
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser.db
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser.db
3.配置主文件vi /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
4. chroot
编辑文件vi /etc/vsftpd/chroot_list
#实体用户
vsftpuser
5.创建实体用户用来做所有虚拟用户的handler
useradd -s /sbin/nologin -d /home/vsftpuser vsftpuser
6.虚拟用户配置文件
mkdir /etc/vsftpd/user.d/
vi /etc/vsftpd/user.d/macor 注意YES或NO后面不能有空格,否则会报错!!
#虚拟用户根目录
local_root=/home/vsftpuser/macor
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
7.创建虚拟用户根目录
mkdir /home/vsftpuser/macor
chown vsftpuser.vsftpuser /home/vsftpuser/macor
8.重启
/etc/init.d/vsftpd restart