CentOS7 FTP服务器搭建
在CentOS7上搭建FTP服务器,使用Vsftpd作为服务端软件,可以按照以下步骤进行,以下是详细的操作过程:
一、安装前准备
1、关闭防火墙
systemctl stop firewalld systemctl disable firewalld
2、关闭SELinux
vim /etc/selinux/config
将文件内的SELINUX=enforcing
修改为SELINUX=disabled
,保存并退出。
二、安装vsftpd
执行以下命令安装vsftpd:
yum install vsftpd -y
三、配置vsftpd
1、创建配置文件目录
mkdir /etc/vsftpd
2、复制配置文件
cp /usr/share/doc/vsftpd-*/vsftpd.conf.gz /etc/vsftpd/ gunzip /etc/vsftpd/vsftpd.conf.gz
3、编辑vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
修改以下内容:
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 chroot_local_user=YES allow_writeable_chroot=YES
添加或修改以下被动模式端口范围:
pasv_enable=YES pasv_min_port=60000 pasv_max_port=60100
4、设置用户权限和目录
useradd ftpuser -s /sbin/nologin -d /home/ftpuser passwd ftpuser
创建目录并设置权限:
mkdir -p /home/ftpuser/public_ftp chown -R ftpuser:ftpuser /home/ftpuser chmod -R 755 /home/ftpuser
四、启动vsftpd服务
启动并使vsftpd服务开机自启:
systemctl start vsftpd systemctl enable vsftpd
五、测试FTP服务器
可以使用FTP客户端工具(如FileZilla)连接到FTP服务器进行测试,默认情况下,FTP服务器监听的端口为21,如果需要通过被动模式连接,请确保防火墙允许相应的端口范围(60000-60100)。
相关问答FAQs
问题1:如何更改FTP服务器的根目录?
答:可以通过修改vsftpd的配置文件来实现,编辑/etc/vsftpd/vsftpd.conf
文件,找到local_root
选项,将其设置为所需的目录路径。
local_root=/home/ftpuser/public_ftp
保存修改后,重启vsftpd服务:
systemctl restart vsftpd
问题2:如何限制FTP用户的上传和下载速度?
答:可以通过安装和配置tc
命令来实现,安装ipset
和iptables
:
yum install ipset iptables -y
配置iptables
规则来限制速度,限制每个IP的上传和下载速度为50KB/s:
iptables -A INPUT -p tcp --dport 21 -m state --state NEW -m recent --update --seconds 60 --name LIMIT -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j DROP echo "1" > /proc/sys/net/ipv4/ip_conntrack_max
配置vsftpd以启用速率限制:
vim /etc/vsftpd/vsftpd.conf
在文件中添加以下行:
anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 chroot_local_user=YES allow_writeable_chroot=YES listen=YES listen_ipv6=NO pam_service_name=vsftpd tcp_wrappers=YES idle_session_timeout=600 data_connection_timeout=120 accept_timeout=60 connect_from_port_20=YES chown_uploads=YES chown_username=whoever