前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux – 基于CentOS搭建FTP文件服务

Linux – 基于CentOS搭建FTP文件服务

作者头像
Yiiven
发布2022-12-15 13:50:58
3.3K0
发布2022-12-15 13:50:58
举报
文章被收录于专栏:怡文菌怡文菌

下面主要是说明如何在centos下面配置一个ftp服务器,我找了几个教程,每个教程都有各自的优点,我就结合了他们的文章和我自己的实践总结出一篇更好的文章,作为备忘啦,参考文章将在末尾给出,如有侵权,请联系我,谢谢!

vsftpd是linux下的一款小巧轻快,安全易用的FTP服务器软件,是一款在各个Linux发行版中最受推崇的FTP服务器软件。毫无疑问,我也选择了它。

本文测试环境

  • CentOS 7
  • 测试服务器IP 192.168.0.186

1.安装并启动 FTP 服务

1.1. 安装 VSFTPD

使用 yum 安装 vsftpd

代码语言:javascript
复制
yum install -y vsftpd

1.2. 启动 VSFTPD

安装完成后,启动 FTP 服务:

代码语言:javascript
复制
service vsftpd start

启动后,可以看到系统已经监听了 21 端口:

代码语言:javascript
复制
netstat -nltp | grep 21

此时,访问 ftp://192.168.0.186 可浏览机器上的 /var/ftp目录了。


2.配置 FTP 权限

2.1. 了解 VSFTP 配置

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

代码语言:javascript
复制
vsftpd.conf -- 为主要配置文件
ftpusers -- 黑名单,配置禁止访问 FTP 服务器的用户列表
user_list -- 白名单,配置用户访问控制

2.2 阻止匿名访问和切换根目录

匿名访问和切换根目录都会给服务器带来安全风险,我们把这两个功能关闭。

编辑 /etc/vsftpd/vsftpd.conf,找到下面两处配置并修改:

禁用匿名用户 – YES 改为NO

anonymous_enable=NO

禁止切换根目录 打开注释,删除注释符号“#”

代码语言:javascript
复制
# chroot_local_user=YES

禁止ftp用户跳出自己的根目录

编辑完成后保存配置,重新启动 FTP 服务

代码语言:javascript
复制
service vsftpd restart

2.3 创建 FTP 用户

创建一个用户 ftpuser

代码语言:javascript
复制
useradd -s /sbin/nologin -g ftp -d /var/www/html ftpuser

-s /sbin/nologin 限制用户只能连接FTP,无法登录系统

-g ftp 将用户加入到ftp组(vsftpd已创建)

-d /var/www/html 根目录限制在/var/www/html

ftpuser FTP用户名

执行该命令后,如果出现这样的错误提示:

代码语言:javascript
复制
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.

这说明目录(/var/www/html)已经存在,不可再新建此目录,并非添加用户失败,可以忽略。

为用户 ftpuser 设置密码

代码语言:javascript
复制
passwd ftpuser

提示:重复输入2次

2.4 修改目录权限

代码语言:javascript
复制
chown -R myftp /var/www/html

递归把所有目录及文件的拥有者设为新添加的ftp用户

代码语言:javascript
复制
chmod -R 755 /var/www

递归地设置拥护者全部权限,其他用户只有读取和执行权限

2.5. 重启vsftpd服务

代码语言:javascript
复制
service vsftpd restart

3. 配置防火墙(放开端口 21 )

参考iptables设置方法,这里不再展开

4. 访问FTP

根据您个人的工作环境,选择一种方式来访问已经搭建的 FTP 服务

  • 通过 Windows 资源管理器访问

Windows用户可以到资源管理器的地址栏输入以下地址进行访问:

ftp://ftpuser:password@192.168.0.186

  • 通过 FTP 客户端工具访问

WinSCP – Windows 下的 FTP 和 SFTP 连接客户端

FlashFXP – Windows 下的一款优秀的FXP和FTP链接客户端

FileZilla – 跨平台的 FTP 客户端,支持 Windows 和 M

特别提示

  • ftp根目录不能赋予ftp用户写权限,否则将无法连接例如,假设:
    1. 有目录/var/ftp,所有者(u)为root,所属组(g)为root
    2. 有ftp用户,名为myftp,所属组ftpusers,限制根目录/var/ftp

那么ftp目录的权限最高只能设置到755,即 drwxr-xr-x root root,但其下的目录如/var/ftp/www是可以赋予777权限的

参考文章:

https://www.linuxidc.com/[Linux](https://www.yiiven.cn/tag/linux/)/2017-11/148518.htm

https://www.jb51.net/os/RedHat/105909.html

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:

原文出处:Yiiven https://cloud.tencent.com/developer/article/2193129

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.安装并启动 FTP 服务
    • 1.1. 安装 VSFTPD
      • 1.2. 启动 VSFTPD
      • 2.配置 FTP 权限
        • 2.1. 了解 VSFTP 配置
          • 2.2 阻止匿名访问和切换根目录
            • 2.3 创建 FTP 用户
              • 2.4 修改目录权限
                • 2.5. 重启vsftpd服务
                • 3. 配置防火墙(放开端口 21 )
                • 4. 访问FTP
                • 特别提示
                相关产品与服务
                测试服务
                测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档