linux ftp服务
主动模式port:服务器主动发起数据连接。客户端向服务器21端口建立ftp数据连接。服务器从20端口向客户端随机端口发送数据。
被动模式pasv:服务器被动等待数据连接。如果客户机防火墙禁止主动模式,会采用被动模式。客户端向服务器21端口建立ftp数据连接。需要传输数据时,客户端向服务器设定范围内的端口(非20)建立数据连接。
开始:
关闭安全系统
setenforce 0
关闭防火墙
service iptables stop
1. 安装软件包
mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/vsftpd-2.2.2-11.el6.i686.rpm
2. 修改配置文件
vi /etc/vsftpd/vsftpd.conf
(1)匿名访问
修改配置文件语句:
允许匿名访问
anonymous_enable=YES
上传文件默认掩码值
local_umask=022
允许匿名用户上传文件
anon_upload_enable=YES
允许匿名用户创建目录,写入权限
anon_mkdir_write_enable=YES
允许匿名用户删除、覆盖、重命名
anon_other_write_enable=YES
限制匿名用户最大传输速率
anon_max_rate=10240
保存,启动服务
service vsftpd start
(2)本地用户访问
vi /etc/vsftpd/vsftpd.conf
local_enable=YES 允许本地用户访问
local_root=/var/ftp 设置登录ftp家目录
write_enable=YES 启用vsftpd 服务总开关
local_umask=022 用户上传文件/目录权限掩码
chroot_local_user=YES 锁定本地账户在家目录
保存,service vsftpd reload 。
直接输入本地用户账号密码即可登录
user_list用户列表文件
vi /etc/vsftpd/user_list
输入本地账户名,如jack
vi /etc/vsftpd/vsftpd.conf
userlist_enable=YES 启用用户列表文件
userlist _deny=NO 白名单,只有user_list中的用户才能访问ftp
userlist _deny=YES 黑名单,user_list中的用户不能访问ftp
系统默认为YES
修改vsftpd服务监听地址、端口
listen=YES 允许独立监听
listen_address= 只在一个接口监听服务
listen_port= 监听端口改为
netstat -anpt | grep “vsftpd” 确认vsftpd监听情况
pasv_enable=YES 允许被动连接
pasv_min_port=24500 指定被动模式下限端口
pasv_max_port=24600 指定被动模式上限端口
max_clients=20 限制并发客户连接最多20个
max_per_ip=2 每个IP连接数最多2个
anan_max_rate=50000 限制匿名用户传输速率50kB/s
local_max_rate=200000 限制匿名用户传输速率200kB/s
(3)虚拟用户访问ftp
首先挂载,安装软件包
mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/db4-utils-4.7.25-17.el6.i686.rpm
创建文本格式用户名密码列表
vi /etc/vsftpd/vusers 创建名为vusers文件
t01 设置账号
abc 密码
t02
abc
创建数据库文件
cd /etc/vsftpd/
将文本文件转化成数据库文件
db_load -T -t hash -f vusers vusers.db
更改用户账号文件权限
chmod 600 /etc/vsftpd/vusers
chmod 600 /etc/vsftpd/vusers.db
添加虚拟用户映射账号
useradd -d /var/ftproot -s /sbin/nologin vusers 用户名vusers
为虚拟用户建立PAM认证文件
vi /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
修改vsftpd文件配置
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
guest_enable=YES
guest_username=vusers
pam_service_name=vsftpd.vu
#pam_service_name=vsftpd
保存,重启vsftpd服务
然后可以使用t01登录了,密码abc
为不同虚拟用户建独立配置文件
vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers_dir
保存
mkdir /etc/vsftpd/vusers_dir
cd /etc/vsftpd/vusers_dir
vi t01
local_root=/var/t01 设置登录家目录
anon_upload_enable=YES 允许上传文件
anon_mkdir_write_enable=YES 允许写入权限
保存,重启服务
mkdir /var/t01
这时候用t01登录时,会登录在/var/t01里
vi t02
local_root=/var/t02
保存,重启服务
mkdir /var/t02
用t02登录时,会登录在/var/t02里