/etc/vsftpd/vsftpd.conf

anonymous_enable=YES //是否允许anonymous登录FTP服务器,默认是允许的

local_enable=YES //是否允许本地用户登录FTP服务器,默认是允许

write_enable=YES //是否允许用户具有在FTP服务器文件中执行写的权限,默认是允许

local_umask=022 //设置本地用户的文件生成掩码为022

anon_upload_enable=YES //允许匿名用户上传

anon_umask=022 //匿名用户文件生成掩码

anon_mkdir_write_enable=YES  //是否允许匿名账户在FTP服务器中创建目录

anon_other_write_enable=YES //允许匿名用户进行删除或重命令文件

anon_world_readable_only=YES //匿名用户仅允许下载它可读的文件

dirmessage_enable=YES //激活目录信息,当远程用户更改目录时,将出现目录下.message文件中的内容

connect_from_port_20=YES //启用FTP数据端口的连接请求

xferlog_enable=YES //启用上传和下载日志功能

xferlog_std_format=YES //是否使用标准的ftpd xferlog日志文件格式

xferlog_file=/var/log/vsftpdfeng.log //设置日志位置

idle_session_timeout=600 //设置空闲的用户会话中断时间,默认是10分钟

data_connection_timeout=120 //设置数据连接超时时间,默认是120秒

max_clients=100 //最大连接数

max_per_ip=2 //每ip最大连接数

local_max_rate=102400 //本地用户最大传输速度100k

anon_max_rate=10240 //匿名用户最大传输速度10k

ascii_download_enable=YES //是否允许使用ASCII格式来上传和下载文件

ftpd_banner=Welcome to FTP service. //在FTP服务器中设置欢迎登录的信息

listen=YES //使vsftpd 处于独立启动模式

listen_port=10021 //使用非标准端口

listen_address=192.168.1.1 //绑定到网卡的某个ip

tcp_wrappers=YES //使用tcp_wrqppers作为主机访问控制方式

pam_service_name=vsftpd //配置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d目录下

ftp_username=ftp //匿名用户所映射的本地用户名

virtual_use_local_privs=YES //虚拟用户拥有本地系统权限(即可以上传删除等,为NO时虚拟用户为匿名权限)

user_config_dir=/etc/vsftpd/users //设置不同的用户使用不同的配置的目录,用户名作为文件名

当userlist_enable=YES且userlist_deny=YES时user_list中指定的用户不能访问(默认)

当userlist_enable=YES且userlist_deny=NO时仅允许user_list中指定的用户访问

chroot_list_enable=YES //启用chroot列表文件

chroot_list_file=/etc/vsftpd/chroot_list //chroot文件位置

当chroot_local_user=YES时不允许除列表外的所有本地用户切换到home以外的目录

当chroot_local_user=NO时允许除列表外的所有本地用户切换到home外的目录(默认)

tcp_wrappers使用/etc/hosts.allow和/etc/hosts.deny两个配置文件实现访问控制

vsftpd:主机表:setenv VSFTPD_LOAD_CONF 配置文件路径

vsftpd:192.168.1.0/24,192.168.2.0/24:DENY

ftp虚拟用户建立

vi ftp.txt //奇数行为用户名,偶数行为口令

db_load -T -t hash -f ./ftp.txt /etc/vsftpd/virtual_users.db //生成口令库文件

chmod 600 /etc/vsftpd/virtual_users.db

vi /etc/pam.d/vsftp.vu //输入以下信息

auth required pam_userdb.so db=/etc/vsftpd/virtual_users

account required pam_userdb.so db=/etc/vsftpd/virtual_users

useradd -d /home/ftp virtual //建立虚拟用户映射的本地用户

chmod 700 /home/ftp

guest_enable=YES //启用虚拟用户

guest_username=virtual //虚拟用户映射的本地用户名

pam_service_name=vsftp.vu //指定PAM配置文件

service vsftpd restart

vsftpd /etc/vsftpd/vsftpd.conf //用指定的配置文件启动一个ftp进程

如果想要同时实现虚拟用户与本地用户访问

可在原/etc/pam.d/vsftpd文件前加入以下文字

auth sufficient pam_userdb.so db=/etc/vsftpd/virtual_users

account sufficient pam_userdb.so db=/etc/vsftpd/virtual_users

当然pam_service_name=vsftpd配置要改回来

为每个用户分别设置权限

download_enable=NO

local_root=/home/ftp/t1

write_enable=YES

anon_upload_enable=YES //这些属性都要重新配置,不能从主配置文档里继承

pasv_enable=YES //启用被动模式

pasv_min_port=3000 //被动模式最小端口

pasv_max_port=4000 //被动模式最大端口


原文:http://blog.163.com/_kid/blog/static/30405476201171573958823/