/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/