0.Notice
环境是64位的Centos6.3
牵涉到的用户:
- 实体用户 vsftpuser (linux用户)
- 虚拟用户 ftpuser 这个只是vsftp 配置中的用户,非linux 用户
1.安装vsftp (此处略去50字)
2.生成密码数据库
用户密码文件 /etc/vsftpd/vuser.list
,一行用户一行密码
生成密码库的命令如下:
1 2 3
| 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
1 2
| auth required pam_userdb.so db=/etc/vsftpd/vuser account required pam_userdb.so db=/etc/vsftpd/vuser
|
3.配置主文件 /etc/vsftpd/vsftpd.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #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
5.创建实体用户用来做所有虚拟用户的handler
1
| useradd -s /sbin/nologin -d /home/vsftpuser vsftpuser
|
6.虚拟用户配置文件 /etc/vsftpd/user.d/ftpuser
1 2 3 4 5
| #虚拟用户根目录 local_root=/home/vsftpuser/ftpuser anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
|
7.创建虚拟用户根目录
1 2
| mkdir /home/vsftpuser/ftpuser chown vsftpuser.vsftpuser /home/vsftpuser/ftpuser
|
8.重启
1
| /etc/init.d/vsftpd restart
|