本文环境:centos7,IP=192.168.1.11

1.安装vsftpd和默认配置启动

1.1 安装vsftpd

yum install -y vsftpd

1.2 启动vsftpd

systemctl start vsftpd

查看vsftpd状态和运行

systemctl status vsftpd

或者通过端口占用查看

netstat -nltp | grep 

2.配置vsftpd

2.1 配置路径

vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:

  • vsftpd.conf 为主要配置文件
  • ftpusers 配置禁止访问 FTP 服务器的用户列表
  • user_list 配置用户访问控制

以下需要修改vsftpd.conf,所以都是基于使用

vim /etc/vsftpd/vsftpd.conf

2.2 配置端口

2.2.1 添加要更改的监听端口,可以在最下面添加配置

#remote_charset=CP1251
#
# Enable this options if you have double "я"
#
#double_377=0 listen_port=221

保存退出

2.2.2 修改系统端口管理的services

vim /etc/services

将默认的21端口更改成自己的端口

#  is registered to ftp, but also used by fsp
ftp 221/tcp
ftp 221/udp fsp fspd

2.3 禁用匿名用户

# 禁用匿名用户将 YES 改为 NO
anonymous_enable=NO

2.4 禁止用户切换目录

# 禁止切换根目录,解除注释
chroot_local_user=YES

3 重新启动vsftpd

systemctl restart vsftpd

注意:可能很多人和我一样,遇到一个无法正常启动的原因,如下解决。

a. 粗暴关闭防火墙或者放开端口

systemctl stop Firewalld

b. 关闭Linux新安全子系统SELinux(Security-Enhanced Linux)

查看SELinux运行状态

sestatus -v

SELinux status:  enabled就是开启的;disabled就是关闭

开启的时候我们还需要看它的模式(Current mode),它有三种模式

enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了;

permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取;

disabled:关闭,SELinux 并没有实际运作。

所以我们更改模式即可解决:

setenforce 

优点:一条语句及时生效;

缺点:系统重起后恢复为enforcing模式。(可以自行搜索开机不恢复的方式,修改/etc/selinux/config文件,需要重启机器,此处就不罗列了)

此时再重启vsftpd,应该运行成功。

4. 添加FTP用户和管理

4.1 创建一个用户 ftpuser

useradd ftpuser

为用户 ftpuser 设置密码

echo "password" | passwd ftpuser --stdin

4.2 限制ftpuser仅有ftp访问权限

限制用户 ftpuser只能通过 FTP 访问服务器,而不能直接登录服务器:

usermod -s /sbin/nologin ftpuser

4.3 为ftpuser分配主目录

为用户 ftpuser创建主目录并约定:

    /data/ftp 为主目录, 该目录不可上传文件 
    /data/ftp/pub 文件只能上传到该目录下

创建相关的目录

mkdir -p /data/ftp/pub

4.4 设置访问权限

chmod a-w /data/ftp && chmod  -R /data/ftp/pub

设置用户主目录

usermod -d /data/ftp ftpuser

5 访问ftp,验证ftp

可以通过资源管理器或者浏览器访问:

ftp://ftpuser:password@192.168.1.11/pub

5.1 常见问题解决

很多时候服务正常启动了,但是死活连不上,需要查看防火墙状态,是否是防火墙阻碍了

systemctl status Firewalld

好,那我们停掉防火墙

systemctl stop Firewalld

可能出现了好转,服务能访问了,但是咱们想防火墙不能随便关,是否可以一起存在呢,开放端口可以吗?

↓注意:先打开防火墙,然后执行一下命令,每次cmd更改,都需要reload规则。

firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --zone=public --add-port=/udp --permanent firewall-cmd   --reload

干脆来一个全的,21的端口开放。可能有人还会遇到我一样的问题,不行。。。,是不是防火墙会拦住服务呢?

firewall-cmd --zone=public --add-service=ftp --permanent

firewall-cmd   --reload

终于,我这的问题解决了。

总结:本人遇到的问题,从网站上罗列下来的随笔。

Linux CentOS安装搭建FTP文件服务的更多相关文章

  1. 腾讯云-搭建 FTP 文件服务

    搭建 FTP 文件服务 目的:搭建认证登录的FTP具有读写权限 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 yum 安装 vsftpd: yum insta ...

  2. 腾讯云,搭建 FTP 文件服务

    腾讯云,搭建 FTP 文件服务 腾讯云,搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 yum 安装 vsftpd: yum insta ...

  3. 基于 Ubuntu 搭建 FTP 文件服务

    搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get install vsft ...

  4. 腾讯云:ubuntu搭建 FTP 文件服务

    搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get install vsft ...

  5. 使用FileZilla快速搭建FTP文件服务

    为了便于平时对文件的存储访问,特意搭建FTP服务 FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. F ...

  6. linux centos安装zabbix 4.0服务端

    1.服务器安装docker sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manag ...

  7. 基于CentOS 搭建 FTP 文件服务

    系统要求: CentOS 7.2 64 位操作系统 一. 安装 VSFTPD (vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其[官网介绍][https://security.a ...

  8. 基于 CentOS 搭建 FTP 文件服务

    https://www.linuxidc.com/Linux/2017-11/148518.htm

  9. 搭建 FTP 文件服务

    1.安装并启动 FTP 服务 2.配置 FTP 权限 3.准备域名和证书 4.访问 FTP 安装 VSFTPD 使用 yum 安装 vsftpd: yum install vsftpd -y vsft ...

随机推荐

  1. hdu 6088 Rikka with Rock-paper-scissors (2017 多校第五场 1004) 【组合数学 + 数论 + 模意义下的FFT】

    题目链接 首先利用组合数学知识,枚举两人的总胜场数容易得到 这还不是卷积的形式,直接搞的话复杂度大概是O(n^2)的,肯定会TLE.但似乎和卷积有点像?想半天没想出来..多谢Q巨提醒,才知道可以用下面 ...

  2. Python 爬虫十六式 - 第六式:JQuery的假兄弟-pyquery

    PyQuery:一个类似jquery的python库 学习一时爽,一直学习一直爽   Hello,大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了 BeautifulSoup 美味 ...

  3. attr(name|properties|key,value|fn)

    attr(name|properties|key,value|fn) 概述 设置或返回被选元素的属性值.大理石平台厂家   参数 nameStringV1.0 属性名称 propertiesMapV1 ...

  4. Confluence 6.15 锚点(Anchor)宏

    允许你链接到页面的特定部分.有关如何使用锚点的内容,请参考页面 Anchors 页面中的详细内容. Wiki 标记(markup) 示例 宏名称: anchor 宏内容:None. {anchor:h ...

  5. noi.ac #531 神树和物品

    题目链接:戳我 决策单调性 (蒟蒻终于会写决策单调性啦!考试全场切这题就我不会啊嘤) (证明?不会啊,自己打表看QAQ) 44pts \(O(n^2)\)代码: #include<iostrea ...

  6. 学习日记6、easyui datagrid 新增一行,编辑行,结束编辑和删除行操作记录

    1.新增一行并进入编辑状态 var index=$('#Numbers').datagrid('appendRow', { CardInformation: '开户行', CardNumber: '银 ...

  7. docker的数据管理

    容器中管理数据主要有两种方式: 1.数据卷:容器内数据直接映射到本地宿主机. 2.数据卷容器:使用特定容器维护数据卷 数据卷: 数据卷是一个可供容器使用的特殊目录,他将主机操作系统目录直接映射进容器. ...

  8. 踩坑之SpringBoot WebSocker 部署Tomcat冲突

    启动tomcat容器,部署SpringBoot项目,启动项目报错,如下图: 看1.2的顺序就知道是WebSocket冲突了. 上网找了一下资料发现,使用@ServerEndpoint创立websock ...

  9. LC 833. Find And Replace in String

    To some string S, we will perform some replacement operations that replace groups of letters with ne ...

  10. Fullgc引发redis超时异常

    1.现象 -|2019-11-14 11:50:01.095|ERROR|TID:2254.3964.15737033664569521|DubboServerHandler-192.168.58.2 ...