Linux下搭建FTP服务器教程
一、基本安装
1.运行以下命令安装 vsftpd。
yum install -y vsftpd
2.运行以下命令打开及查看etc/vsftpd
cd /etc/vsftpd
ls
说明:
/etc/vsftpd/vsftpd.conf 是核心配置文件。
/etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。
/etc/vsftpd/user_list 是白名单文件,是允许访问 FTP 服务器的用户列表。
/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些变量和设置
备注:使用命令 rpm -ql vsftpd 可列出vsftpd中包含的文件
3.运行以下命令设置开机自启动。
systemctl enable vsftpd
4.运行以下命令启动 FTP 服务。
systemctl start vsftpd
5.运行以下命令查看 FTP 服务端口。
netstat -antup | grep ftp
6.配置本地用户登录
本地用户登录就是指用户使用 Linux 操作系统中的用户账号和密码登录 FTP 服务器。
vsftpd 安装后默只支持匿名 FTP 登录,用户如果试图使用 Linux 操作系统中的账号登录服务器,将会被 vsftpd 拒绝,但可以在 vsftpd 里配置用户账号和密码登录。具体步骤如下:
a.运行以下命令创建 ftptest 用户。
useradd ftptest
(删除用户命令:sudo userdel -r newuser)
b.运行以下命令修改 ftptest 用户密码。
passwd ftptest
7.修改/etc/vsftpd/vsftpd.conf
a.运行vim /etc/vsftpd/vsftpd.conf。
b.按键 “i” 进入编辑模式。
c.将是否允许匿名登录 FTP 的参数修改为anonymous enable=NO。
d.将是否允许本地用户登录 FTP 的参数修改为local_enable=YES。
e.按键 “Esc” 退出编辑模式,然后按键“:wq” 保存并退出文件。
f.运行命令 cat /etc/vsftpd/vsftpd.conf 查看配置文件内容。
二、基本配置
完成vsftpd安装后发现无法远程连接,仍需要完成以下配置。
原因分析:
FTP连接方式分为:主动模式和被动模式。默认为被动模式。
如果为被动模式,服务器端必须监听至少一个额外的被动模式端口。所以,若只开通20和21端口是不够的,需要另外配置入站端口。
以下以阿里云服务器为例:
在阿里云安全组中,开启8800/8899,20/21 端口 ,也可自定义(后面配置需要用到),仅做参考。
备注参考信息:
FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个是数据传送的连接。FTP服务程序一般会支持两种不同的模式,一种是Port模式,一种是Passive模式(Pasv Mode),我先说说这两种不同模式连接方式的分别。
先假设客户端为C,服务端为S.
Port模式:
当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。
Pasv模式:
当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。
参考链接:https://blog.csdn.net/binsoft/article/details/44595677 (貌似也是转载的,找不到原文...)
添加配置信息 修改配置文件 vim /etc/vsftpd/vsftpd.conf
在文件末尾添加:
pasv_enable=YES
pasv_min_port=8800
pasv_max_port=8899
解释:
8800/8899 为上面安全组添加的端口号
pasv_enable=YES|NO
YES,允许数据传输时使用PASV模式。NO,不允许使用PASV模式。默认值为YES。
pasv_min_port=port number
pasv_max_port=port number
设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。把端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高。
完成以上配置,基本可以实现远程连接FTP。对了,配置完成记得重启服务器systemctl restart vsftpd
三、配置 vsftpd 限制 FTP 账户访问其它目录
使用 vsftpd 搭建 FTP 服务,可以配置用户登录后,限制访问其它的目录,只能进它的主目录。 配置方法如下:
1、打开 vsftp 的配置文件 vim /etc/vsftpd/vsftpd.conf 找到 chroot Chroot_local_user
设置所有的本地用户都执行 chroot chroot_local_user=yes (本地所有帐户都只能在自家目录)
2、设置指定用户执行 chroot
找到并修改 chroot_list_enable=yes
3、chroot_list_file=/ 任意指定的路径 /chroot_list (文件中的名单可以调用)
注意:vsftpd.chroot_list 是没有创建的需要自己创建。若不想限制个别用户,将用户名添加到vsftpd.chroot_list文件中,每个用户名一行。
4、在文件末尾添加
allow_writeable_chroot=YES #对vsftpd有用,否则,因home目录权限为root权限而无法登录
5、为 /home/ftptest 添加权限
6.重启服务器
systemctl restart vsftpd
四、vsftpd修改默认端口
1、编辑/etc/vsftpd/vsftpd.conf 文件,在该配置文件末尾添加此行:listen_port=6709
2、编辑/etc/services 文件,将其中的
ftp 21/tcp 改为 ftp 6709/tcp ,
ftp 21/udp 改为 ftp 6709/udp
3、重新启动vsftpd 服务。
4、运行命令 netstat -tnulp | grep vsftpd
可以查看到现在系统现监听的vsftpd 的端口为6709
5、最后不要忘记到阿里云安全组添加6709端口号
五、本文参考
1.https://help.aliyun.com/document_detail/51998.html?spm=5176.11065259.1996646101.searchclickresult.232f56b2leo5fC#h2-linux-ftp-2
2.https://help.aliyun.com/knowledge_detail/41291.html?spm=a2c4g.11186623.4.5.jTvPdu
3.https://blog.csdn.net/zhuixunhebe1/article/details/77651588
4.http://blog.51cto.com/mingxiaoming/1974715
5.https://blog.csdn.net/binsoft/article/details/44595677
Linux下搭建FTP服务器教程相关推荐
- linux下搭建FTP服务器
LINUX FTP简单配置 FTP配置 1.#vi /etc/vsftp/vsftpd.conf #主要配置几个关键的就可以 anonymous_enable=NO ...
- Linux下搭建FTP服务器笔记
1.检查是否安装vsftpd软件 使用如下命令# rpm -qa |grep vsftpd 可以查看出是否安装了vsftpd软件,如果没有安装,使用yum命令进行安装 yum install vsft ...
- Linux下服务器搭建(1)——Linux下搭建FTP服务器 vsftpd服务
目录 前言 1.检查安装vsftpd软件 2.启动服务 3.vsftpd的配置 4.以匿名用户登录
- 这可能是东半球最详细的Linux下搭建Jenkins服务器实现自动打包的教程(下)
上一篇我们从零开始,在Linux环境下配置了Jenkins的Android构建环境,但也仅仅是搭建环境,至于参数化构建.输出apk .定时构建.邮件发送等功能因为篇幅的原因没有介绍,本篇博客就来介绍介 ...
- 这可能是东半球最详细的Linux下搭建Jenkins服务器实现自动打包的教程(上)
前言:作为开发者,我们都遇到过这样一个问题,项目在测试期的时候,测试总会找我们打各个环境的包,什么生产包.prd包.pre包,每次都是我们打完包再发给测试.可是打包是要时间的啊,项目小还好,项目大的话 ...
- linux平台搭建ftp,Linux快速搭建FTP服务器
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(A ...
- 如何查看linux上的ftp服务器配置,ftp服务器配置:如何在Linux上搭建FTP服务器?
Linux搭建FTP服务器的话,直接使用系统自带的vsftpd服务器即可,轻便灵活,容易操作,下面我简单介绍一下安装和使用过程,感兴趣的朋友可以尝试一下ftp服务器配置: 01安装vsftpd首先ft ...
- 在Windows2003下搭建FTP服务器
在Windows2003下搭建FTP服务器 Windows 2003 Standard Edition.Windows 2003 Enterprise Edition.Windows XP Pro ...
- 在Ubuntu下搭建FTP服务器的方法
由于整个学校相当于一个大型局域网,相互之间传送数据非常快,比如要共享个电影,传点资料什么的. 所以我们可以选择搭建一个FTP服务器来共享文件. 那么问题来了,有的同学会问,我们既然在一个局域网内,直接 ...
最新文章
- 【scala】类的定义和单例对象
- 自定义水晶报表的显示
- linux下查看文件及目录个数
- 数据科学与大数据技术的案例_作为数据科学家解决问题的案例研究
- 安装composer
- 【转】如何在Qt 4程序中优化布局结构-兼回答网友提问
- php文件便利,PHP便利文件夹下所有文件,创建压缩包
- oracle数据管理员常用词语,总结Oracle数据库管理员的常用命令
- Android SQL删除表、清空表
- [Misc]IE浏览器真正全屏幕操作技巧
- 计算机科学与技术_080702,电子科学与技术(专业代码;080702)专业介绍与解读
- 【C语言】size与strlen的区别解析
- 想撩产品小姐姐?你必须学会的这篇产品经理必读文章,如何构建电商产品认知体系?
- DeepMind重磅开源强化学习框架!覆盖28款游戏,24多个算法
- 深入了解ElasticSearch的Nested数据类型
- 利用scp 在linux之间传输文件
- python中self的个人理解
- 图层样式之:内发光、外发光
- c语言变量是如何存储,C语言变量存储
- iMeta | 第1卷第3期来自8个国家的14篇文章正式发布(2022.9)