43tfwed 发表于 2015-6-24 09:20:39

vsftpd服务配置

一、概述
    1、工作模式:
      主动模式:服务器主动对客户端发起连接
      被动模式:服务器开启相应端口,等待客户端发起连接
    2、主动模式端口: 控制 21传输数据 20
    3、被动模式端口: 随机

二、安装
    1、服务名:vsftpd
    2、主配置文件:/etc/vsftpd/vsftpd.conf
    3、验证方式:
      匿名访问
      本地用户访问
      虚拟用户访问
    4、软件:
      服务器端 vsftpd 客户端 ftp
三、匿名用户


1
2
3
4
5
6
7
anonymous_enable=YES:启用匿名访问
anon_umask=022:匿名用户所上传文件的权限掩码(无此项,默认600)
anon_root=/var/ftp:匿名用户的FTP根目录
anon_upload_enable=YES:允许上传文件(服务器权限和目录权限均需要设置)
anon_mkdir_write_enable=YES:允许创建目录
anon_other_write_enable=YES:开放其他写入权
anon_max_rate=0:限制最大传输速率(字节/秒)




四、本地用户


1
2
3
4
5
local_enable=YES:是否启用本地系统用户
local_umask=022:本地用户所上传文件的权限掩码
local_root=/var/ftp:设置本地用户的FTP根目录
chroot_local_user=YES:是否将用户禁锢在主目录
local_max_rate=0:限制最大传输速率(字节/秒)




常用的全局配置项:


1
2
3
4
5
6
7
8
listen_address=192.168.4.1:设置监听的IP地址
listen_port=21:设置监听FTP服务的端口号
write_enable=YES:是否启用写入权限
download_enable=YES:是否允许下载文件
max_clients=0:限制并发客户端连接数
max_per_ip=0:限制同一IP地址的并发连接数
Pasv_min_port=50000将客户端的数据连接端口改在
Pasv_max_port=60000      50000—60000之间)




访问限制:


1
2
3
userlist_enable=YES:是否启用user_list列表文件
userlist_deny=YES:是否禁用user_list中的用户
Userlist_deny=NO;




其它安全选项:


1
2
3
4
5
6
connect_timeout=60
accept_timeout=60
data_connection_timeout=300
idle_session_timeout=300
ftpd_banner=xxx和banner_file=/path/file
tcp_wrappers=YES





五、访问控制


1
2
3
4
5
6
7
8
userlist_enable=YES
userlist_deny=YES时
出现在/etc/vsftpd/user_list文件里的用户,会被拒绝访问FTP服务器
userlist_enable=YES
userlist_deny=NO
只允许出现在/etc/vsftp/user_list文件里的用户登录FTP服务器
/etc/vsftpd/ftpusers
出现在该文件里的用户,全部拒绝访问FTP服务器,不管user_list做任何设置




六、虚拟用户   
    特点:
      a、减少系统用户的数据,提高系统安全性
      b、根据不同的用户,设置不同的访问权限
创建账号数据:
1.建立虚拟FTP用户的帐号数据库文件
2.创建FTP根目录及虚拟用户映射的系统用户
3.建立支持虚拟用户的PAM认证文件
添加虚拟用户支持
4.在vsftpd.conf文件中添加支持配置
5.为个别虚拟用户建立独立的配置文件
启动服务并测试
6.重新加载vsftpd配置
7.使用虚拟FTP账户访问测试



1
2
3
4
5
6
7
8
9
10
11
12
13
# vi /etc/vsftpd/vusers.list    #建立虚拟用户
zhangsan
123
lisi
456
# cd /etc/vsftpd/
# db_load -T -t hash -f vusers.list vusers.db    #建立虚拟FTP用户的帐号数据库文件
# file vusers.db    #查看数据库文件
vusers.db: Berkeley DB (Hash, version 8, native byte-order)
# chmod 600 /etc/vsftpd/vusers.*
# ls -lh /etc/vsftpd/vusers.*
-rw------- 1 root root 12K 02-26 08:51 /etc/vsftpd/vusers.db
-rw------- 1 root root18 02-26 08:48 /etc/vsftpd/vusers.list




2.创建FTP根目录及虚拟用户映射的系统用户


1
2
# useradd -d /var/ftproot -s /sbin/nologin virtual
# chmod 755 /var/ftproot/




3.建立支持虚拟用户的PAM认证文件


1
2
3
4
# vi /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth       required   pam_userdb.so db=/etc/vsftpd/vusers
account    required   pam_userdb.so db=/etc/vsftpd/vusers




4.在vsftpd.conf文件中添加支持配置


1
2
3
4
5
6
7
8
# vi /etc/vsftpd/vsftpd.conf
……
local_enable=YES
write_enable=YES
anon_umask=022
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu




5.为不同的虚拟用户建立独立的配置文件
在vsftpd.conf文件中添加用户配置目录支持
         user_config_dir=/etc/vsftpd/vusers_dir
    为用户mike、john建立独立的配置目录及文件
         配置文件名与用户名相同


1
2
3
4
5
6
# mkdir /etc/vsftpd/vusers_dir/
# cd /etc/vsftpd/vusers_dir/
# vi zhangsan
anon_upload_enable=YES
anon_mkdir_write_enable=YES
# touch lisi






国安信仰 发表于 2015-6-29 11:01:38

挺详细的,学习了!
页: [1]
查看完整版本: vsftpd服务配置