Linux搭建FTP服务器

注意事项:
搭建ftp服务器,一定要注意防火墙策略和selinux
ftp服务端和ftp客户端是两个概念,ftp客户端可以访问ftp服务端,反之不行,若两边都安装ftp服务端和ftp客户端软件即可双向访问。

一、检查防火墙策略

ftp走21和22端口,很多时候都是因为防火墙策略问题倒置不能正常使用,所以先进行防火墙检查,关闭防火墙或者在开启的的防火墙中放行21,22端口(防火墙一般默认放行22端口)

关闭防火墙操作如下:
linux6:
防火墙状态: service iptables status
关闭防火墙: service iptables stop
禁用防火墙: chkconfig iptables off
linux7:
防火墙状态: systemctl status firewalld.service
关闭防火墙: systemctl stop firewalld.service
禁用防火墙: systemctl disable firewalld.service
防火墙放行端口操作如下:
1、防火墙放行21端口:
iptables -I INPUT 5 -p tcp --dport 21 -j ACCEPT

#要先启动ftp服务,然后在防火墙中放行端口,在重启防火墙
2、查看21端口状态:
netstat -na --ip|grep 21

#这时候可能还看不见,因为ftp服务没有启动
3、防火墙添加ftp模块:
vi /etc/sysconfig/iptables-config 
添加以下内容:
IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"

4、重启防火墙:
linux6: service iptables restart
linux7: firewall-cmd --reload

5、查看防火墙端口规则
iptables -nL --line-number

客户端可以使用nc命令测试fpt服务器端口

nc -v 192.168.27.10 21
二、安装ftp

1、检查ftp服务是否安装

rpm -qa|grep ftp

2、在服务端安装软件vsftp(已经配置了本地yum源)

yum install -y vsftpd.x86_64 

3、在客户端安装软件ftp(已经配置了本地yum源)

yum install -y ftp
三、启动ftp服务端并修改配置文件

1、服务端启动vsftp

linux6: service vsftpd start 
linux7: systemctl start vsftp.service

2、修改配置文件:
vsftp配置文件所在位置:/etc/vsftpd/vsftpd.conf

使用普通用户连接fpt服务器只能上传不能下载,需要修改下面参数才能连接ftp服务器进行下载
注:selinux在关闭状态下不能修改该参数,需要将selinux启动后才能修改
selinux开启关闭请参考:点击这里

# setsebool -P ftpd_use_fusefs on
#  sestatus -b | grep ftp
allow_ftpd_anon_write                       off
allow_ftpd_full_access                      off
allow_ftpd_use_cifs                         off
allow_ftpd_use_nfs                          off
ftp_home_dir                                on
ftpd_connect_db                             off
ftpd_use_fusefs                             off
ftpd_use_passive_mode                       off
httpd_enable_ftp_server                     off
tftp_anon_write                             off
tftp_use_cifs                               off
tftp_use_nfs                                off

特别注意:默认ftp服务器是不允许root用户直接访问的,也强烈不建议这么做,若有特殊要求必须使用root用户访问ftp服务器,操作如下

修改服务器端配置文件
vi /etc/vsftpd/ftpusers 
注释root
vi /etc/vsftpd/user_list 
注释root
service vsftpd restart

selinux在启动状态下是不允许root用户直接登录ftp服务端,需将selinux关闭即可

四、使用ftp进行下载和上传测试

建议专门建一个用户使用ftp

上传测试:

# ftp 192.168.27.10											#连接ftp服务端
Connected to 192.168.27.10 (192.168.27.10).
220 (vsFTPd 2.2.2)
Name (192.168.27.10:root): root								#输入登录ftp服务端的用户
331 Please specify the password.
Password:													#输入用户密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put test.txt											#上传文件到ftp服务端,此步可以cd进入ftp服务端的某一个目录,默认就是ftp用户的home目录
local: shuaige remote: shuaige
227 Entering Passive Mode (192,168,27,10,42,185).
150 Ok to send data.
226 Transfer complete.
ftp>

下载测试:

# ftp 192.168.27.10											#连接ftp服务端
Connected to 192.168.27.10 (192.168.27.10).
220 (vsFTPd 2.2.2)
Name (192.168.27.10:root): root								#输入登录ftp服务端的用户
331 Please specify the password.
Password:													#输入用户密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir													#查看当前目录
227 Entering Passive Mode (192,168,27,10,78,212).
150 Here comes the directory listing.
-rw-r--r--    1 1100     1100            0 Nov 06 08:09 lihua
226 Directory send OK.
ftp> get lihua												#下载文件(存放在ftp连接时当前所在目录)
local: lihua remote: lihua
227 Entering Passive Mode (192,168,27,10,75,193).
150 Opening BINARY mode data connection for lihua (0 bytes).
226 Transfer complete.
ftp> 

上传多个文件:mput
下载多个文件:mget
关闭交互模式:prompt(要不然在传输多个文件是会不断询问你是否继续传输)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值