1.安装vsftpd 和以下3个包

# rpm –qa | grep db4
db4-devel-4.2.52-7.1
db4-4.2.52-7.1
db4-utils-4.2.52-7.1


2.建立映射用账户,

useradd   -d /var/ftp/aaa vsftpd

建立用户列表logins.txt 内容如下

upload

pwd

download

pwd

admin

pwd


创建口令库文件,并修改权限

db_load -T -t hash -f /tmp/login.txt /etc/vsftpd/vsftpd_login.db

chmod 700 /tmp/logins.txt

/etc/pam.d/中创建vsftpd 只留下如下信息

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login


创建virtual文件目录/etc/vsftpd/user_conf 并在文件目录中创建以用户名命名的配置文件


download upload admin


download内容

anon_world_readable_only=NO (开放download用户的下载权限——只能下载;注意不要写成YES,否则将不能列出文件和目录)

local_root=/ftp/aaa


upload内容

anon_world_readable_only=NO

local_root=/ftp/aaa

write_enable=YES (增加写权限)

anon_upload_enable=YES(增加上传权限)

anon_mkdir_write_enable=YES (增加创建目录的权限)


admin内容

anon_world_readable_only=NO

local_root=/ftp/aaa

write_enable=YES (增加写权限)

anon_upload_enable=YES(增加上传权限)

anon_mkdir_write_enable=YES (增加创建目录的权限)

anon_other_write_enable=YES(增加管理员用户的删除/重命名的权限)


主配置文档 vsftpd.conf 改成如下



listen=YES

listen_port=8021

max_clients=100

max_per_ip=20

ftpd_banner=Welcome to virtual FTP service


anonymous_enable=NO

local_enable=YES

write_enable=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

chroot_local_user=YES

guest_enable=YES

guest_username=vsftpd

pasv_min_port=30000

pasv_max_port=30999



pam_service_name=vsftpd

user_config_dir=/etc/vsftpd/user_conf

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log



idle_session_timeout=600

data_connection_timeout=120

accept_timeout=60/PAVS

connect_timeout=60


这样虚拟用户ftp就成了,


如果无法访问的话  一般容易出错的主要是以下3点

1.注意配置文件后面一定不能有任何空格,否则就访问失败

2.注意iptables防火墙开启端口

3.注意关闭selinux