Linux CentOS安装搭建FTP文件服务

Posted djangoblogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux CentOS安装搭建FTP文件服务相关的知识,希望对你有一定的参考价值。

本文环境: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 21

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端口更改成自己的端口

# 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 0

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

缺点:系统重起后恢复为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 777 -R /data/ftp/pub

设置用户主目录

usermod -d /data/ftp ftpuser

5 访问ftp,验证ftp

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

ftp://ftpuser:[email protected]

 

 

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

以上是关于Linux CentOS安装搭建FTP文件服务的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 下搭建FTP服务器

Centos 搭建文件服务系统,使用Samba和FTP协议传输

基于Linux CentOS搭建FTP服务

Centos7安装搭建FTP服务器

CentOS如何搭建匿名ftp服务

手动搭建FTP站点(CentOS 8)