欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > centos 7 搭建FTP本地用户

centos 7 搭建FTP本地用户

2025/3/28 8:10:35 来源:https://blog.csdn.net/rzy41880/article/details/146413727  浏览:    关键词: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 ftplibtry:ftp = ftplib.FTP('<FTP服务器IP地址>')ftp.login('<用户名>', '<密码>')print('登录成功')ftp.quit()
except ftplib.all_errors as e:print(f'登录失败: {e}')

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词