使用vsftp 搭建FTP 服务器。
1)
查看是否已安装vsftpd
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1160
# rpm -qa vsftpd
vsftpd-2.2.2-6.el6_0.1.x86_64
2)
安装vsftpd
# rpm -ivh vsftpd-2.2.2-6.el6_0.1.x86_64.rpm
3)
修改FTP 服务器默认配置
# vim /etc/vsftpd/vsftpd.conf
# 表示允许匿名用户登录(默认为YES).
anonymous_enable=YES
# 表示允许本地用户登录(默认为YES).
local_enable=YES
# 表示开放对本地用户的写权限(默认YES,如仅用作加载文件服务器,可
改为NO).
write_enable=NO
# 设置本地用户的文件生成掩码
(默认对本地用户的文件生成掩码是077,可
改为022)
local_umask=022
# 允许匿名FTP 用户上载文件(默认为NO).
#anon_upload_enable=YES
# 允许匿名FTP 用户创建目录(默认为NO).
#anon_mkdir_write_enable=YES
# 启用FTP 数据端口的连接请求(默认为YES).
connect_from_port_20=YES
# 使用PAM 认证的配置文件名,文件位于/etc/pam.d 目录下
pam_service_name=vsftpd
# 是否使用userlist 文件控制访问FTP 服务器
userlist_enable=YES
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1161
# 设置禁止访问的文件或目录
#deny_file={*.mp3,*.mov,.private}
# 设置隐藏的文件或目录
#hide_file={*.mp3,.hidden,hide*,h?}
# 设置FTP 被动模式开放端口范围(默认为0,表示任意可用端口)
pasv_min_port=20001
pasv_max_port=21000
# 设置允许的最大客户连接数(默认为2000)
max_clients=2000
# 设置每个IP 上允许的最大客户连接数(默认为50)
max_per_ip=50
# 用于被动传输方式的连接超时(默认为60)
accept_timeout=60
# 用于主动传输方式的连接超时(默认为60)
connect_timeout=60
# 无进度状态下的数据传输超时(默认为300)
data_connection_timeout=300
# 空闲连接超时(默认为300)
idle_session_timeout=300
# 是否使用系统调用sendfile 优化传输(默认为YES,使用nfs 等网络盘时应
设置为NO)
use_sendfile=YES
# 设置非匿名登录用户的主目录
#local_root=/var/ftp/pub
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1162
更多的配置可查看vsftpd.conf 文档
# man vsftpd.conf
在集群最大并发加载任务数为N ,单加载任务最大加载机数
(max_data_processors)为M 时,部分参数最小值和推荐值如下:
表5- 144 参数值
参数名称
默认值
最小值
推荐值
max_clients
2000
M*N
M*N*2
max_per_ip
50
N
N*2
pasv_min_port
0
max-min : M*N
max-min : M*N*2
pasv_max_port
0
4)
配置允许或禁止访问FTP 服务器的用户列表(可跳过)
# vim /etc/vsftpd/user_list
当/etc/vsftpd/vsftpd.conf 中配置如下时,
禁止/etc/vsftpd/user_list 中的所有
用户访问FTP 服务器。
userlist_enable=YES
userlist_deny=YES(缺省为YES)
当/etc/vsftpd/vsftpd.conf 中配置如下时,
允许/etc/vsftpd/user_list 中的所有
用户访问FTP 服务器。
userlist_enable=YES
userlist_deny=NO
5)
配置禁止访问FTP 服务器的用户列表(可跳过)
# vim /etc/vsftpd/ftpusers
6)
关闭SELINUX 功能或更改其配置(两种方式二选一即可)
关闭SELINUX 功能
# vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#
enforcing - SELinux security policy is enforced.
#
permissive - SELinux prints warnings instead of enforcing.
#
disabled - No SELinux policy is loaded.
SELINUX=disable
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1163
# SELINUXTYPE= can take one of these two values:
#
targeted - Targeted processes are protected,
#
mls - Multi Level Security protection.
SELINUXTYPE=targeted
重启或者执行
# setenforce 0
更改SELINUX 配置
# setsebool ftp_home_dir 1
注意
当用浏览器访问FTP 服务器遇到“500 OOPS: cannot change
directory:/home/...”时,可能为此问题。
7)
关闭或配置防火墙
关闭防火墙
停止防火墙服务
# service iptables stop
iptables:清除防火墙规则:
[确定]
iptables:将链设置为政策ACCEPT:filter
[确定]
iptables:正在卸载模块:
[确定]
查看防火墙是否在开机时自动启动
# chkconfig --list iptables
iptables
0:关闭
1:关闭
2:启用
3:启用
4:启用
5:启用
6:关闭
禁止防火墙在开机时自动启动
# chkconfig iptables off
或
# chkconfig iptables off --level 2345
设置后防火墙在开机时自动启动状态
# chkconfig --list iptables
iptables
0:关闭
1:关闭
2:关闭
3:关闭
4:关闭
5:关闭
6:关闭
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1164
配置防火墙
设置默认规则
# iptables -A INPUT -j DROP(注:添加此条规则会阻止未处理的传入数据包,如在此
规则之前未添加允许规则将会阻止远程连接)
# iptables -A FORWARD -j ACCEPT
开放FTP 端口
# iptables -I INPUT -p tcp --dport 21 -j ACCEPT
# iptables -I OUTPUT -p tcp --sport 21 -j ACCEPT
# iptables -I INPUT -p tcp --dport 20 -j ACCEPT
# iptables -I OUTPUT -p tcp --sport 20 -j ACCEPT
# iptables -I INPUT -p tcp --dport 20001:21000 -j ACCEPT
# iptables -I OUTPUT -p tcp --sport 20001:21000 -j ACCEPT
保存防火墙设置
# iptables-save > /etc/sysconfig/iptables
8)
启动vsftpd 服务并设置为开机启动项
# service vsftpd start
为vsftpd 启动vsftpd:
[确定]
# chkconfig vsftpd on
9)
复制文件到FTP 目录
如未设置local_root=/var/ftp/pub 时,
复制文件到/home/xxxx
(用户的home
目录)
如已设置local_root=/var/ftp/pub 时,复制文件到/var/ftp/pub
如已设置anonymous_enable=YES 时,复制文件到/var/ftp 或/var/ftp/pub
(匿名登录的主目录)