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

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}')

相关文章:

  • 数据库取证分析
  • 【Git】--- 分支管理
  • vue 点击放大,图片预览效果
  • vue项目配置服务器代理,解决请求跨域问题
  • el-table下的复选框关联勾选
  • thinkphp8.0\swoole的websocket应用
  • MySQL: 创建两个关联的表,用联表sql创建一个新表
  • 电机控制常见面试问题(十八)
  • vulntarget_a 训练笔记
  • 人工智能赋能:生成式游戏的未来趋势
  • 响应式 Web 设计:HTML 与 CSS 协同学习的进度(二)
  • 2025-03-24 学习记录--C/C++-PTA 习题7-7 字符串替换
  • 预测蓝桥杯16届嵌入式省赛客观题
  • 【进阶编程】Avalonia、MAUI、Uno Platform、Flutter、Electron、Qt 和 Tauri 的详细对比
  • CPP中的numeric库中的accumulate求和函数说明
  • Python----计算机视觉处理(Opencv:绘制图像轮廓:寻找轮廓,findContours()函数)
  • 深入剖析ReLU激活函数:特性、优势与梯度消失问题的解决之道,以及Leaky ReLU 和 Parametric ReLU
  • Python和json
  • PTA 1105-链表合并(C++)
  • 大模型的后训练(post-training)方法
  • 江苏银行一季度净赚近98亿增逾8%,不良贷款率微降
  • 今年我国电影票房破250亿领跑全球,“电影+”带动文旅消费热潮
  • 挤占学生伙食费、公务考察到景区旅游……青岛通报5起违规典型问题
  • 上海出台灵活就业人员公积金新政:不限户籍、提取自由,6月起施行
  • 五万吨级半潜船在沪完成装备装载
  • 上海“生育友好岗”已让4000余人受益,今年将推产假社保补贴政策