本文环境: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. php类知识---常量点滴

    常量在类的内部,外部都可以访问,要通过类名::常量名 常量没有访问修饰符 与变量不同的是,常量不能放在双引号中取值,而变量可以 <?phpclass mycoach{ public $name= ...

  2. ubuntu设置窗口最大化

    三行命令搞定Ubuntu 16.04下安装VMware Tools!!!!!!!!! 由于下载的是ubuntu-16.04.3-desktop-amd64,需要安装vmware tools,以往提取的 ...

  3. nodejs+mysql 批量更新

    没办法,只能通过循环一次次更新: var updateMysql = function(){ data = excel[0].data; for(var i=1; i<data.length; ...

  4. js比较两个时间的大小

    function checkdate(s,e){ //得到日期值并转化成日期格式,replace(/-/g, "//")是根据验证表达式把日期转化成长日期格式,这样再进行判断就好判 ...

  5. [Python之路] 实现简易HTTP服务器与MINI WEB框架(利用WSGI实现服务器与框架解耦)

    本文描述如果简单实现自定义Web服务器与自定义简易框架,并且不断进行版本迭代,从而清晰的展现服务器与Web框架之间是如何结合.如何配合工作的.以及WSGI是什么. 本文帖的代码有点多,但基本每次迭代修 ...

  6. 获取网卡速率,cpu使用率

    ];//获取网卡名称 PerformanceCounter NetworkR = new PerformanceCounter("Network Interface", " ...

  7. FZU 2231 平行四边形数

    FZU - 2231  平行四边形数 题目大意:给你n个点,求能够组成多少个平行四边形? 首先想到的是判断两对边平行且相等,但这样的话得枚举四个顶点,或者把点转换成边然后再枚举所有边相等的麻烦,还不好 ...

  8. 图论小专题A

    大意失荆州.今天考试一到可以用Dijkstra水过的题目我竟然没有做出来,这说明基础还是相当重要.考虑到我连Tarjan算法都不太记得了,我决定再过一遍蓝皮书,对图论做一个小的总结.图论这个部分可能会 ...

  9. 关于vue-resource 跨域请求的异常处理方法

    当你启动一个vue项目时,项目会运行在一个webpack的服务上,所以此时去访问其他端口或者是其他地址时,属于跨域请求,故会报异常. has been blocked by CORS policy: ...

  10. MS11-080提权

    前提是你渗透进入了一台服务器 这是微软11年的第80个漏洞 每一个漏洞都有一个对应的kb(补丁) 这里我们直接在kali里面搜索 root@kali:~# searchsploit ms11- --- ...