CentOS7下FTP的安装配置

简介:

一、安装VSFTP

      在开源操作系统中常用的FTPD套件主要还有vsftp、ProFTPD、PureFTPd和wuftpd等。

      vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

     附vsftp的wiki:

                   https://en.wikipedia.org/wiki/Vsftpd

1
2
# yum -y install vsftpd       ##直接yum安装
# systemctl start vsftpd.service       ##启动vsftp服务器



二、配置VSFTP

     vsftpd提供了standalone和inetd(inetd或xinetd)两种运行模式。standalone一次性启动,运行期间一直驻留在内存中,优点是对接入信号反应快,缺点是损耗了一定的系统资源,经常应用于对实时反应要求较高的专业FTP服务器;inetd恰恰相反,由于只在外部连接发送请求时才调用FTP进程,因此不适合应用在同时连接数量较多的系统。此外,inetd模式不占用系统资源。

1
[root@localhost ~] # vi /etc/xinetd.d/vsftpd

wKioL1XsAT7Srka4AAFUoZYHt64085.jpg


wait = 0 表示设备是激活的,它正在使用标准的TCP Sockets。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost ~] # cat /etc/vsftpd/vsftpd.conf |grep ^[^#]          ##查看其默认配置
anonymous_enable=YES               ##允许匿名账号登录
local_enable=YES                   ##允许本地用户(即linux系统中的用户帐号)
write_enable=YES                 ##允许本地用户对FTP服务器文件具有写权限
local_umask=022                      ##设置本地用户默认文件掩码022
dirmessage_enable=YES                 ##激活目录欢迎信息功能
xferlog_enable=YES                   ##激活上传、下载日志文件,默认在/var/log/vsftpd.log下
connect_from_port_20=YES                 ##启用FTP数据端口的连接请求
xferlog_std_format=YES              ##以标准xferlog的格式书写传输日志文件
listen=NO                    ##关闭监听(开启vsftpd将以独立模式运行,由vsftpd自己监听和处理                                          IPv4端口的连接请求)
listen_ipv6=YES                  ##开启IPv6端口监听
pam_service_name=vsftpd          ##设置PAM外挂模块提供的认证服务所使用的配置文件名,                                            即/etc/pam.d/vsftpd文件
userlist_enable=YES                ###允许ftpusers文件中的用户登录FTP服务器
tcp_wrappers=YES                    ##使用tcp_wrappers作为主机访问控制方式(tcp_wrappers
                                       可以实现linux系统中网络服务的基于主机地址的访问控制)


三、关闭SELinux和防火墙

a、临时关闭(不用重启机器): 

1
2
# setenforce 0                       ##设置SELinux 成为permissive模式  (关闭SELinux)
# setenforce 1                       ##设置SELinux 成为enforcing模式     (开启SELinux)

    

b、修改配置文件需要重启机器:

1
# vi /etc/selinux/config

   


将SELINUX=enforcing 改为SELINUX=disabled(需重启机器)


c、可自己做策略开放相应端口,这里我直接关闭:

1
2
# systemctl status firewalld.service       ##查看防火墙状态
# systemctl stop firewalld.service         ##关闭防火墙


四、客户端登录验证


Ubuntu登录:

wKioL1XuUQPR7fMGAAFooG7nWwY466.jpg


Windows登录:

wKiom1XuUMbzbWt1AAE5Dk5eqWg800.jpg


网页登录:

wKiom1XuVCfhfTB_AAEm3IbwDTQ247.jpg


五、VSFTP应用

默认的,ftp的根目录在服务器的/var/ftp下.


1
[root@localhost ~] # echo "abcd" >/var/ftp/123.txt

wKiom1XuVtvDHeD1AAEu8VHsy84116.jpg


1.使用help命令查看帮助

wKioL1XuWyThAPe0AADVQCmSo9Y129.jpg


2.使用put命令上传,get命令下载(账号:anonymous,密码为空)

wKioL1XuWRvT6jHzAAFzY8CWmws928.jpg


①提示找不到文件,原因:该文件没有在当前目录下,使用lcd命令查看

②将文件移动至当前目录下进行上传操作,提示550,原因:没有开放权限,不能上传

③从ftp服务器下载文件,提示226,下载成功


3.更改vsftp.conf的设置,使其允许匿名用户下载:

1
2
3
4
5
6
7
8
9
# vi /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES           ##允许匿名用户上传文件(须将全局的write_enable=YES,默认YES)
anon_mkdir_write_enable=YES          ##允许匿名用户创建目录
use_localtime=YES                  ##使用本地时(自行添加)
anon_umask=022                      ##设置匿名用户的掩码(自行添加)
anon_other_write_enable=YES        ##允许匿名用户删除和重命名权限(自行添加)
# mkdir /var/ftp/upload         ##在/var/ftp下新建一个目录来实现匿名用户上传
# chmod -R 777 /var/ftp/upload/    ##赋予其权限
# systemctl restart vsftpd.service     ##重启vsftp

wKiom1Xuc7SR6GeJAAJEF6GPLSU462.jpg

wKioL1XudqbSupqPAAFv6koMAlg451.jpg


状态码:

230-----登录成功

200-----命令执行成功

150-----文件状态正常,开启数据连接端口

250-----目录切换操作完成

226-----关闭数据连接端口,请求的文件操作成功

wKioL1XueMbgITP7AAFHqGRk2Ws183.jpg



wKiom1XufEjTfEJaAABomoduP24873.jpg

mkdir------>创建目录文件

delete------>删除文件

rm------>删除目录文件


wKioL1XufqKgsRPXAAE8bgtsYkY713.jpg

附1:SFTP

     SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议,可以为传输文件提供一种安全的加密方法。SFTP是SSH的一部份,在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。

    SFTP连接方法跟FTP连接方法相同。

wKioL1XuqSyjUt1lAAJ2JEwcw-s084.jpg



附2:Ubuntu下安装vsftp的wiki:

1
http: //wiki .ubuntu.com.cn /Vsftpd


附3:vsftpd配置详解


本文转自  结束的伤感  51CTO博客,原文链接:http://blog.51cto.com/wangzhijian/1692834



相关文章
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
1189 87
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
378 16
|
NoSQL 安全 Linux
设置Redis在CentOS7上的自启动配置
这些步骤总结了在CentOS 7系统上设置Redis服务自启动的过程。这些命令提供了一个直接且明了的方式,确保Redis作为关键组件在系统启动时能自动运行,保障了依赖于Redis服务的应用的稳定性和可用性。
952 9
|
Linux
Centos6配置阿里云yum源报错
在CentOS 6配置阿里云Yum源时,可能出现EPEL仓库访问报错(404 Not Found)。解决方法:编辑`/etc/yum.repos.d/epel.repo`文件,将`enabled`和`gpgcheck`参数设为0 ``` 此设置可解决仓库无法访问的问题。
2547 29
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
3545 26
|
Ubuntu 安全 Linux
CentOS与Ubuntu中防火墙配置命令集汇
有了这些,你就能遨游在 CentOS 和 Ubuntu 的海洋中,频繁地改变你的防火墙设置,快速地应对各种安全威胁,同时也能保证你的系统可以正常工作。出发吧,勇敢的编程者,随着这些命令集的涌动,扬帆起航,走向安全的网络世界!
550 5
|
Ubuntu 安全 网络安全
在Ubuntu系统下使用vsftpd配置FTP服务器的步骤
以上就是在Ubuntu系统下使用vsftpd配置FTP服务器的步骤。这些步骤都是基础的,但足够让你建立一个简单的FTP服务器。如果你需要更高级的功能,例如SSL加密、虚拟用户等,你可能需要进一步研究vsftpd的配置选项。
978 13
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
678 10
|
XML Java 应用服务中间件
在centos7.x上安装配置tomcat
本指南介绍了在Linux系统中部署Tomcat服务器的完整流程,包括关闭防火墙与SELinux、安装JDK、下载及解压Tomcat、启动和关闭Tomcat服务,以及配置Tomcat管理功能。同时,详细描述了如何导入项目到Tomcat的webapps目录、修改配置文件,并测试项目访问。通过这些步骤,您可以成功搭建并运行一个基于Tomcat的Web应用环境。