linux ftp服务器构建
今天有点心血来潮,突然有了个构建ftp服务器的想法,搞了小两个小时,基本上算完工了,其实个人认为没有什么大用,不过就是在网上可以通过浏览器下载文件而已。下面主要介绍一下具体搭建的过程。
步骤一: 安装 vsftpd
- 远程连接并登录到 Linux 实例。
- 运行命令
yum install -y vsftpd
安装 vsftpd。出现下图表示安装成功
运行以下命令进入/etc/vsftpd
目录,并查看该目录下的文件。
试用
cd /etc/vsftpd
ls
说明
/etc/vsftpd/vsftpd.conf
是 vsftpd 的核心配置文件。/etc/vsftpd/ftpusers
是黑名单文件,此文件里的用户不允许访问 FTP 服务器。/etc/vsftpd/user_list
是白名单文件,此文件里的用户允许访问 FTP 服务器
- 运行以下命令设置FTP服务开机自启动。
试用
systemctl enable vsftpd.service
- 运行以下命令启动 FTP 服务。
试用
systemctl start vsftpd.service
- 运行以下命令查看 FTP 服务监听的端口。
试用
netstat -antup | grep ftp
步骤二: 配置 vsftpd
vsftpd 安装后默认开启了匿名访问 FTP 服务器的功能。使用匿名访问,您无需输入用户名密码即可登录 FTP 服务器,但没有权限修改或上传文件。
本教程介绍了以下两种配置 vsftpd 的方法,并提供了相关的参数说明,您可以根据具体需要进行参考。
- 配置匿名用户上传文件权限
- 配置本地用户登录
配置匿名用户上传文件权限
匿名访问FTP服务器是一种不安全的访问模式,任何人无需密码验证就可以登录到FTP服务器,这种模式一般只用来保存不重要的公开文件,不推荐在生产环境中使用。如果您需要配置匿名用户上传文件的权限,可以参考以下步骤配置:
- 修改
/etc/vsftpd/vsftpd.conf
。- 运行
vim /etc/vsftpd/vsftpd.conf
。 - 按i 键进入编辑模式。
- 将写权限修改为
write_enable=YES
。 - 将匿名上传权限修改为
anon_upload_enable=YES
。
- 运行
按Esc键退出编辑模式,然后输入:wq
保存并退出文件
- 运行以下命令更改
/var/ftp/pub
目录的权限,为 FTP 用户添加写权限,并重新加载配置文件。试用
chmod o+w /var/ftp/pub/ systemctl restart vsftpd.service
配置本地用户登录
本地用户登录是指用户使用 Linux 操作系统的账号和密码登录 FTP 服务器。
vsftpd 安装后默认只支持匿名访问 FTP 服务器,如果您试图使用 Linux 操作系统中的账号登录服务器,将会被 vsftpd 服务拒绝。您可以参考以下步骤配置 vsftpd 服务,以使用Linux账号和密码访问FTP服务器。
- 运行以下命令为FTP服务创建一个Linux用户。本示例中,该用户名为ftptest。
试用
useradd ftptest
- 运行以下命令修改ftptest 用户的密码。
试用
passwd ftptest
- 创建一个供FTP服务使用的文件目录。
试用
mkdir /var/ftp/test
- 更改/var/ftp/test目录的拥有者为ftptest。
试用
chown -R ftptest:ftptest /var/ftp/test
- 输入命令
vim /etc/vsftpd/vsftpd.conf
打开vsftpd.conf配置文件并按键i进入编辑模式。 - 修改vsftpd.conf配置文件。
FTP服务器可以配置为主动模式或被动模式。
- 主动模式下,客户端向服务端发送数据端口的信息,由服务端主动连接客户端发送的数据端口。配置FTP为主动模式的参数如下:
试用
#禁止匿名登录FTP服务器 anonymous_enable=NO #允许本地用户登录FTP服务器 local_enable=YES #设置本地用户登录后所在的目录 local_root=/var/ftp/test #全部用户被限制在主目录 chroot_local_user=YES #启用例外用户名单 chroot_list_enable=YES #指定例外用户列表,这些用户不被锁定在主目录 chroot_list_file=/etc/vsftpd/chroot_list#配置其他参数 allow_writeable_chroot=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES
- 被动模式下,服务端开启并发送数据端口的信息给客户端,由客户端连接服务端开启的数据端口,服务端被动接受连接。在被动模式下,您需要配置服务端可以开启的数据端口范围。配置FTP为被动模式的参数如下:
试用
#禁止匿名登录FTP服务器 anonymous_enable=NO #允许本地用户登录FTP服务器 local_enable=YES #设置本地用户登录后所在目录 local_root=/var/ftp/test #全部用户被限制在主目录 chroot_local_user=YES #启用例外用户名单 chroot_list_enable=YES #指定例外用户列表,这些用户不被锁定在主目录 chroot_list_file=/etc/vsftpd/chroot_list #开启被动模式 pasv_enable=YES #FTP服务器公网IP pasv_address=<FTP服务器公网IP> #设置被动模式下,建立数据传输可使用port范围的最小值 pasv_min_port=port number #设置被动模式下,建立数据传输可使用port范围的最大值 pasv_max_port=port number#配置其他参数 local_umask=022 dirmessage_enable=YES xferlog_enable=YES xferlog_std_format=YES tcp_wrappers=YES allow_writeable_chroot=YES listen=YES listen_ipv6=NO pam_service_name=vsftpd userlist_enable=YES
说明 建议您把端口范围设在比较高的一段范围内,比如50000-50010,有助于提高访问FTP服务器的安全性。
- 主动模式下,客户端向服务端发送数据端口的信息,由服务端主动连接客户端发送的数据端口。配置FTP为主动模式的参数如下:
- 按Esc键退出编辑模式,然后按键
:wq
保存并退出文件。 - 运行
vim /etc/vsftpd/chroot_list
命令创建chroot_list文件,并写入不受只可以访问其主目录限制的例外用户名单。说明 如果没有例外用户也必须要有 chroot_list文件,内容可为空。
- 按键Esc退出编辑模式,然后按键
:wq
保存并退出文件。 - 运行以下命令重启vsftpd服务。
试用
systemctl restart vsftpd.service
vsftpd.conf 的配置文件参数说明
运行命令cat /etc/vsftpd/vsftpd.conf
查看配置文件内容。
用户登录控制:
参数 | 说明 |
---|---|
anonymous_enable=YES | 接受匿名用户 |
no_anon_password=YES | 匿名用户login时不询问口令 |
anon_root=(none) | 匿名用户主目录 |
local_enable=YES | 接受本地用户 |
local_root=(none) | 本地用户主目录 |
用户权限控制:
参数 | 说明 |
---|---|
write_enable=YES | 可以上传(全局控制) |
local_umask=022 | 本地用户上传文件的umask |
file_open_mode=0666 | 上传文件的权限配合umask使用 |
anon_upload_enable=NO | 匿名用户可以上传 |
anon_mkdir_write_enable=NO | 匿名用户可以建目录 |
anon_other_write_enable=NO | 匿名用户修改删除 |
chown_username=lightwiter | 匿名上传文件所属用户名 |
步骤三: 设置安全组
搭建好 FTP 站点后,您需要在实例安全组的入方向添加放行下列 FTP 端口的规则。
- FTP 为主动模式时:端口21。
- FTP 为被动模式时:端口21,以及配置文件/etc/vsftpd/vsftpd.conf中参数pasv_min_port和pasv_max_port之间的所有端口。
添加安全组规则的具体步骤,请参见添加安全组规则。
步骤四: 客户端测试
您可以通过 FTP 客户端或浏览器访问 FTP 服务器进行测试。本教程以windows自带的IE(Internet Explorer)浏览器为例,分别为您介绍 FTP 服务器配置为主动模式或被动模式时的访问步骤。
FTP服务器为主动模式
- 打开客户端的 IE 浏览器。
- 将浏览器设置为主动访问模式。选择 设置 > Internet 选项 > 高级 。勾选 启用 FTP 文件夹视图,取消勾选 使用被动 FTP。
- 在地址栏中输入
ftp://<FTP服务器IP地址>:FTP端口
,例如:ftp://39.10.0.28:21
。 - 在弹出的对话框中,输入用户名和密码,即可对 FTP 文件进行相应权限的操作。
FTP服务器为被动模式
- 打开客户端的 IE 浏览器。
- 将浏览器设置为被动访问模式。选择 设置 > Internet 选项 > 高级 。勾选 启用 FTP 文件夹视图,勾选 使用被动 FTP。
- 在地址栏中输入
ftp://<FTP服务器IP地址>:FTP端口
,例如:ftp://39.10.0.28:21
。 - 在弹出的对话框中,输入用户名和密码,即可对 FTP 文件进行相应权限的操作。
说明 使用浏览器访问 FTP 服务器出错时,建议您清除浏览器缓存后再尝试。
后续操作
您可以参考 安全加固方案 对 FTP 服务进行安全加固。
linux ftp服务器构建相关推荐
- ftp服务器文件在哪,linux ftp服务器文件夹在哪
linux ftp服务器文件夹在哪 内容精选 换一换 已获取到Android SDK镜像包,并通过MobaXterm工具上传到服务器上的/home目录下.获取方法请参见获取软件包.添加完成后如下图所示 ...
- linux FTP服务器访问权限的问题
当我们搭建好一个FTP服务器后,接下去的工作就是要对这个服务器进行权限的管理与设置.因为这项工作直接关系到FTP服务器上文件的安全,关系到FTP服务器运行的稳定.所以,作为企业的网络管理员,不能够忽视 ...
- 免费的FTP linux 服务器中文,linux ftp服务器的搭建和中文字体乱码的解决
本篇文章主要介绍了Centos 下搭建FTP上传下载服务器的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 首先判断你服务器上是否安装了vsftpd 安装vsftpd ...
- linux ftp用户指定多个目录,linux ftp服务器下用户限制目录的方法
我们使用服务器都要站在安全方面进行考虑,有必要将ftp服务下的用户限制在适当的范围内,那么linux ftp服务器下用户限制目录的方法有哪些呢?一起跟着爱站技术频道小编的步伐来了解一下吧! linux ...
- linux ftp 550 下载,linux ftp服务器上传文件夹时提示550错误问题解决方法
linux ftp服务器上传文件夹时提示550错误问题解决方法 标签: linux ftp服务器 550 中文文件夹上传错误 问题 分类: 计算机 2010-11-06 22:47 前几天在实验室搭配 ...
- Linux FTP服务器与客户端(FTP命令 C/C++代码实现)
FTP 是 TCP/IP 提供的标准互联网协议,用于将文件从一台主机传输到另一台主机.它主要用于将网页文件从其创建者传输到充当 Internet 上其他计算机的服务器的计算机.它还用于将文件从其他服务 ...
- ftp文件服务器登录日志,linux ftp服务器日志
linux ftp服务器日志 内容精选 换一换 为加强对系统数据的容灾管理,云堡垒机支持配置日志备份,提高审计数据安全性和系统可扩展性.本小节主要介绍如何在系统配置FTP/SFTP服务器参数,将日志远 ...
- Linux学习笔记之十————Linux常用服务器构建之ftp服务器
p服务器介绍 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议". 用于Internet上的控制文件的双向传输. 同时,它也 ...
- win7系统ftp服务器构建,win7系统构建ftp服务器
win7系统构建ftp服务器 内容精选 换一换 本文操作介绍使用Linux操作系统的HECS(云耀云服务器)安装宝塔面板.宝塔面板是一款使用方便.功能强大且终身免费的服务器管理软件,支持Linux与W ...
最新文章
- Xcode调用栈时小图标代表什么意思
- JSON和JSONP有什么区别?
- Java OkHttp3的简单使用
- HYSBZ - 1588 营业额统计(Splay)
- Windows Phone 8开发环境搭建介绍
- python模拟登陆 验证码el_8-python模拟登入(无验证码)
- swift学习_xcode6搭建
- 洛谷——P1765 手机
- (转)SSDTShadow Hook的实现,完整代码
- FPN网络详解——feature pyramid network
- 过山车css动画,three.js 124版本实现彩虹过山车动画
- Linux下tmpfs与ramfs的区别
- 苹果消息是先推送到服务器,iPhone消息推送机制实现与探讨
- memcached win64位服务端安装和java客户端实例
- 视频剪辑用计算机,剪辑视频用的电脑该如何配置 真的配置越高越好?
- 命令提示符的三种打开方式
- ISP : 灯箱光源(笔记)
- java 泛型 与类反射_Java技能 —— 对象泛型以及类反射机制的应用
- 电容式计算机键盘的按键下,电容式键盘连键故障分析及处理方法(二)
- 基于QML的图片浏览器