Centos安装ftp服务
ftp安装与配置
(以下内容均为原创,如需转载请联系作者。QQ:1045869217)
一、这个文档想说什么
本小节记录我是怎么在 centos 系统上安装 vsftpd 服务,并且进行简单的配置,更多的配置将会在后面的小节中进行记录。
二、大纲
安装 ftp 服务
核心配置文件简介
服务控制
使用ftp工具进行上传操作
问题解决
三、正文
说起 ftp ,小白可能想的是 fileZilla 等 ftp 客户端软件。比如在网上买了个空间,需要用到 ftp 进行上传文件。ftp 主要包括两个部分:服务端、客户端。fileZilla 这种属于客户端软件,桌面系统用户直接百度下载安装即可使用;下面我们要安装的是 ftp 的服务器端软件。没错,服务端也是一个软件,只是他会放在服务器上,供所有人使用。
【安装 ftp 服务】
ftp 服务器软件我用的是 vsftpd,安装可以有多种方式,我这里采用 yum 安装。因为比较方便、快捷。
安装命令:yum install -y vsftpd
就是这么简单,完成了 vsftpd 的安装。
【核心配置文件简介】
安装完成后,会生成一个目录 /etc/vsftpd/ 和 /var/ftp/ 两个重要的目录
[/etc/vsftpd/] 目录下有四个文件
其中,
ftpusers 文件 指定哪些用户不能访问 ftp 服务,这些用户是指 Linux 系统用户还是包括虚拟用户?
user_list 文件 用户列表,当 vsftpd 里 userlist_deny=NO时,只允许这里的用户访问 ftp 服务,注意此时同时也检测 ftpusers 文件;当 vsftpd 里 userlist_deny=YES(默认) 时,不允许这里的用户 访问 ftp 服务
vsftpd.conf 文件 是 vsftpd 的核心配置文件
vsftpd_conf_migrate.sh 文件 是 vsftpd 操作的一些变量和设置脚本
[/var/ftp/] 目录则是默认情况下,匿名用户的根目录,也就是说默认情况下,匿名用户上传的文件将会放在这个目录下。
核心配置文件有以下几个基础的配置项
anonymous_enable=YES 是否允许匿名登录
local_enable=YES 是否允许本地账号(系统账号)登录
write_enable=YES 是否运行上传操作,如果要运行上传那么就要开启这个配置
listen=NO ftp服务的运行模式,=NO时表示xinetd模式;=YES时表示standlone模式。这两个模式的介绍与区别,请看后面的小节。
userlist_enable=YES 控制 user_list 的功能,在上面有提到其实际意义
【服务控制】
服务控制的意思就是,怎么开启、重启、停止 ftp 服务器,看下面的命令
查看服务状态:service vsftpd status
启动vsftpd服务:service vsftpd start
停止vsftpd服务:service vsftpd stop
重启vsftpd服务:service vsftpd restart
【使用ftp工具进行上传操作】
1、我们先按照上面的命令,开启 ftp 服务
2、然后用 fileZilla 链接到 服务器(如下图所示的操作)
看到提示信息后,就说明链接成功,可以进行文件的上传操作了。
从链接操作的第一个图可以看到,我们只是填写了 ftp 服务器的IP地址,并没有填写用户名、密码等,为啥能链接到服务器呢?因为我们目前用的是匿名用户进行访问,访问的也是默认的根目录。如何进行用户管理、目录配置呢?请看接下来的小节。
【问题解决】
1、如果链接时,等待一会儿后,提示“错误:连接超时(或者无法连接到服务器)”。
可能是由于你的服务器开启了防火墙,测试时建议先关掉防火墙,然后再试试。
2、连接成功后,可以下载文件,但是无法上传文件,并提示“550 Permission denied”。
这个错误说明匿名账号访问时,没有对服务器目录的写权限。此时我们可以在 /var/ftp/ 目录下建立一个目录,并将其读写权限设置为 777 (chmod 777 /var/ftp/pub ),然后就可以将文件上传至 ftp 服务器的 /var/ftp/pub 目录了。
需要注意的是,网上可能有很多文章说把 /var/ftp 目录读写权限设置为 777 ,然后修改 vsftpd.conf 。这种方式不被推荐的,因为这样的话根目录完全没有限制了,不安全。
另外,欢迎关注本人小程序,内容更新及时、完整。