【FTP】二、Linux下FTP的搭建、排错与配置

关于FTP的三篇文章整理:

😉【FTP】一、什么是FTP?
😉【FTP】二、Linux下FTP的搭建、排错与配置
😉【FTP】三、FTP命令行指令–实现FTP文件共享


在这里插入图片描述

一、安装FTP

1、安装vsftpd

- 查看是否安装
rpm -qa|grep vsftpd
#若安装版本较低的话,可yum remove xxx卸载
- 安装
yum -y install vsftpd

2、创建登录ftp的账号,-d指定了用户ftp_user的主目录(刚登陆成功所在的目录即主目录)

useradd -d /home/ftp ftp_user

3、修改一下配置文件

vi /etc/vsftpd/vsftpd.conf

修改以下这个参数:

anonymous_enable=NO   # 不允许匿名用户登录

4、重启vsftpd服务并设置开机自启动

systemctl restart vsftpd
或
service vsftpd restart

systemctl enable vsftpd

5、查看ftp服务器防火墙,开放相关端口

systemctl status firewalld

其状态若不是running,则直接用客户端连接或访问ftp://IP即可出现登录界面。若防火墙则running,则需要开放21端口

firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports 

到此,使用客户端就可访问ftp了,比如下图使用weindows自带的ftp命令行、或IE浏览器
在这里插入图片描述
在这里插入图片描述

二、常见的坑

1、输入了正确的用户名和密码,但IE一直跳转登录页面(IE当ftp客户端粗糙到不说失败原因)

2、连接登录成功了,但 ls 提示 ” ftp: connect: No route to host ”

就这两个问题,坑了我好久,弄明白问题前的心态如图:
在这里插入图片描述
原因还是第一章说的FTP主动模式、被动工作模式的选择。不同的生产环境下,并不是两个模式都能通。
😉
😉
先说解决办法--切换FTP工作模式

  • windows的ftp命令默认是使用的主动模式连接FTP serer
  • linux默认是PASV模式,即被动模式,要通过 passive on | off来进行切换
    在这里插入图片描述
  • IE浏览器作为FTP客户端时,默认是主动模式,可在设置–Internet选项–高级中勾选或取消
    在这里插入图片描述

你要是不了解两种模式的原理,可以看这篇文章。反正就两种工作模式,不想分析就直接切到对立模式就好。

注意:
选择用PASV方式还是PORT方式登录FTP服务器,选择权在FTP客户端,而不是在FTP服务器。


下面是错误的理论原因分析,不想看的跳过
在这里插入图片描述

三、相关配置文件详解

安装完ftp之后在/etc/vsftpd/路径下会存在三个配置文件:

1、vsftpd.conf: 主配置文件

#过滤注释,查看内容
cat /etc/vsftpd/vsftpd.conf |grep -v '^#'

常用参数如下:

anonymous_enable=NO #不允许匿名用户

local_enable=YES #允许使用本地用户账号登陆

write_enable=YES #允许ftp用户写数据

connect_from_port_20=YES #通过20端口传输数据

ftpd_banner=v wo 50 yuan! # 登录欢迎语

其余不常用的参数有:

idle_session_timeout=60 :限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断()

data_connection_timeout=120 :设置客户机在进行数据传输时,设置空闲的数据中断时间

accept_timeout=60 设置在多长时间后自动建立连接

connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;

max_clients=200 指明服务器总的客户并发连接数为200

max_per_ip=3 指明每个客户机的最大连接数为3

local_max_rate=50000(50kbytes/sec)  本地用户最大传输速率限制

anon_max_rate=30000匿名用户的最大传输速率限制

pasv_min_port=端口

pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;

listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;

listen_port=端口号 设置FTP工作的端口号,默认的为21

local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;

chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user;
chroot_list_enable=yes/no 启用不锁定用户在主目录的名单

chroot_list_file=/etc/vsftpd/chroot_list指定列表文件

userlist_enable=YES/NO 是否加载用户列表文件;

userlist_deny=YES 表示上面所加载的用户允许登录;

userlist_file=/etc/vsftpd/user_list 指定列表文件

2、/etc/vsftpd/ftpusers 黑名单文件

/etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器
在这里插入图片描述

3、/etc/vsftpd/user_list 黑名单或白名单

不同于ftpusers的不受任何配置参数的影响,总是黑名单。user_list是黑名单还是白名单,取决于配置参数userlist_enable和userlist_deny
在这里插入图片描述
😉
userlist_deny为NO,则只允许这个文件里的用户登录,为YES则不允许这个文件里的用户登录,甚至都不提示你输密码,直接拒绝。
😉
userlist_deny再勇,userlist_enable=NO时它也就失效了。

举个例子:
用户001 在user_list
用户002 不在user_list

-----
userlist_enable=YES, userlist_deny=NO
001允许登录
002不能登录
-----
userlist_enable=YES, userlist_deny=YES
001不允许登录,直接拒绝连接
002能登录
-----
userlist_enable=NO,userlist_deny=NO/YES
001002都允许登录,因为userlist失效了

4、/etc/vsftpd/vsftpd_conf_migrate.sh

/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些变量和设置
在这里插入图片描述


参考文章:
1、userlist_enable和userlist_deny两个配置项的解释
2、FTP port(主动模式) pasv(被动模式) 及如何映射FTP

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Linux上安装FTP服务器并进行排错,您可以按照以下步骤进行操作: 1. 安装FTP服务器软件: 常用的FTP服务器软件包括vsftpd、ProFTPD和Pure-FTPd。根据您的需求选择其中一个并进行安装。 例如,在Ubuntu上安装vsftpd,可以使用以下命令: ``` sudo apt-get update sudo apt-get install vsftpd ``` 2. 配置FTP服务器配置文件通常位于`/etc/vsftpd.conf`,您可以使用任何文本编辑器打开并按需进行相应的配置。 一些常见的配置项包括: - `anonymous_enable`:启用匿名访问。 - `local_enable`:启用本地用户访问。 - `write_enable`:允许用户写入内容。 - `chroot_local_user`:限制用户在其主目录下操作。 - `pasv_enable`:启用被动模式。 在进行任何更改后,保存配置文件并重新启动FTP服务器以使更改生效。 3. 设置防火墙规则: 如果您的系统上运行着防火墙,确保允许FTP流量通过。根据您使用的防火墙软件,您可能需要配置适当的规则。 4. 连接到FTP服务器: 使用支持FTP协议的客户端工具(如FileZilla或命令行工具`ftp`)连接到您的FTP服务器。提供服务器地址、端口、用户名和密码进行连接。 如果您遇到连接问题,请继续下面的排除步骤。 5. 排除故障: - 检查FTP服务器是否正在运行:使用`ps`命令检查FTP服务器进程是否正在运行。 - 检查FTP服务器配置:确保配置文件中的设置正确,并且没有语法错误。 - 检查防火墙设置:确保防火墙允许FTP流量通过。 - 检查网络连接:确保您的网络连接正常,尝试通过ping服务器地址来测试连接。 - 检查端口监听:使用`netstat`命令检查FTP服务器是否正在监听正确的端口。 请注意,这只是一个基本的指南,实际安装和排错过程可能因系统和软件的不同而有所差异。如果您遇到特定问题,请提供更多详细信息以便我能够帮助您解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-代号9527

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值