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
挺详细的,学习了!
页:
[1]