当前位置: 首页 > article >正文

centos 7 搭建FTP本地用户

在 CentOS 7 系统上基于本地用户搭建 FTP 服务,可按以下步骤操作:

1. 安装 vsftpd 服务

vsftpd 是一款常用的 FTP 服务器软件,可借助 yum 来安装:

bash

yum install -y vsftpd

2. 启动并设置开机自启 vsftpd 服务

bash

systemctl start vsftpd
systemctl enable vsftpd

3. 配置防火墙以允许 FTP 服务

要保证 FTP 服务的正常运行,需开放相应的端口。

bash

firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

4. 创建本地用户并设置密码

你可以创建一个新的本地用户,同时为其设置密码。

bash

useradd (用户名)   添加用户
passwd (用户名)    给用户设置密码

5. 配置 vsftpd

编辑 /etc/vsftpd/vsftpd.conf 文件,进行如下修改:

plaintext

# 允许本地用户登录
local_enable=YES

# 允许本地用户上传文件
write_enable=YES

# 设置本地用户的文件掩码
local_umask=022

# 启用 chroot 功能,将用户限制在其主目录
chroot_local_user=YES

# 允许用户上传文件到其主目录
allow_writeable_chroot=YES
  


上面若有找不到的记得手动添加

6. 重启 vsftpd 服务

修改配置文件后,需重启 vsftpd 服务以使配置生效。

bash

systemctl restart vsftpd

7. 测试 FTP 服务

1. ftp

ftp 是一个经典的命令行 FTP 客户端工具,在大多数 Linux 发行版和 macOS 系统中都默认安装,Windows 系统也可以通过安装额外的软件包来使用。
示例命令

bash

ftp <FTP服务器IP地址>

当连接成功后,按照提示输入用户名和密码登录,登录成功就意味着 FTP 服务基本正常。

2. lftp

lftp 是一个功能更强大的命令行 FTP 客户端,支持更多的协议和功能,如断点续传等。
安装命令(以 CentOS 为例)

bash

yum install lftp

示例命令

bash

lftp <FTP服务器IP地址>

登录成功后,你可以使用 lsgetput 等命令进行文件操作测试。

3. curl

curl 是一个常用的命令行工具,不仅支持 FTP 协议,还支持多种其他协议。可以使用它来测试 FTP 服务的文件下载功能。
示例命令

bash

curl -u <用户名>:<密码> ftp://<FTP服务器IP地址>/<文件路径> -o <本地文件名>

图形化工具

1. FileZilla

FileZilla 是一款跨平台的图形化 FTP 客户端,支持 Windows、Linux 和 macOS 系统。

  • 安装:在 Windows 系统中可以从官网下载安装包进行安装;在 Linux 系统中可以通过包管理器进行安装,如在 Ubuntu 中可以使用以下命令:

bash

sudo apt-get install filezilla

  • 使用:打开 FileZilla,在 “主机” 栏输入 FTP 服务器的 IP 地址,“用户名” 和 “密码” 栏输入相应的信息,点击 “连接” 按钮进行连接测试。
2. WinSCP(仅适用于 Windows 系统)

WinSCP 是一款专为 Windows 系统设计的图形化 FTP 客户端,支持 SFTP、FTP、FTPS 等多种协议。

  • 安装:从官网下载安装包进行安装。
  • 使用:打开 WinSCP,在 “会话” 窗口中输入 FTP 服务器的相关信息,点击 “登录” 按钮进行连接测试。

编程语言

你还可以使用 Python、Java 等编程语言编写脚本来测试 FTP 服务。以下是一个使用 Python 的 ftplib 库进行测试的示例代码:

python

import ftplib

try:
    ftp = ftplib.FTP('<FTP服务器IP地址>')
    ftp.login('<用户名>', '<密码>')
    print('登录成功')
    ftp.quit()
except ftplib.all_errors as e:
    print(f'登录失败: {e}')


http://www.kler.cn/a/599775.html

相关文章:

  • 拓展知识三:编码学及密码学
  • Vue3 实现pdf预览
  • 如何确保异步任务在 HTTP 返回后继续执行?context.WithoutCancel
  • Rust语言的图形用户界面
  • 您是否需要管理型PoE交换机?
  • 2025年渗透测试面试题总结-某深信服-深蓝攻防实验室(题目+回答)
  • C++对C的拓展-3.22笔记
  • JAVA学习*Object类
  • python3面试题23个(设计模式、面向对象、正则)
  • Typora安装使用教程 简单易用的Markdown编辑器
  • 解决思科交换机无法访问局域网外设备
  • C++学习之路,从0到精通的征途:string类
  • 深入理解Spring框架:核心概念与组成剖析
  • C++题目
  • uv - reference [官方文档翻译]
  • 【嵌入式学习2】内存管理
  • GitLens with `Commit Graph`
  • 使用Python调用Jenkins Api之获取构建日志使用说明文档
  • 两个手机都用流量,IP地址会一样吗?深入解析
  • Excel第41套全国人口普查