CentOS7使用pure-ftpd搭建ftp服务
2021/6/12 8:17:16
本文主要是介绍CentOS7使用pure-ftpd搭建ftp服务,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.安装pure-ftpd
1 2 3 | #yum源并不包含pure-ftpd,需要安装epel扩展源 [root@jiaozi ~]# yum install -y epel-release |
1 | # yum install -y pure-ftpd |
安装时发现缺少libmysqlclient.so.18依赖,用find命令检查一下,发现确实没有该依赖。
1 | [root@jiaozi ~]# find / -name libmysqlclient.so* |
原因是我在安装mysql的时候没有全部安装,只安装了部分功能,现在只需要找到mysql对应的mysql-community-libs-compat的rpm包进行安装即可。
若安装mysql时不是下载的.rpm-bundle.tar文件,则需要去官网下载安装即可。(https://downloads.mysql.com/archives/community/)
1 2 3 4 | [root@jiaozi ~]# cd /usr/local/src/mysql-5.7.34/ #安装mysql-community-libs-compat包 [root@jiaozi mysql-5.7.34]# rpm -ivh mysql-community-libs-compat-5.7.34-1.el7.x86_64.rpm |
回到家目录,再次执行yum install -y pure-ftpd命令,安装成功。
1 2 3 | [root@jiaozi ~]# cd ~ [root@jiaozi ~]# yum install -y pure-ftpd |
2.配置pure-ftpd
说明
在启动pure-ftpd之前,需要先修改配置文件/etc/pure-ftpd/pure-ftpd.conf。
1 2 | #找到PureDB /etc/pure-ftpd/pureftpd.pdb这一行,删除这一行前面的#号 [root@jiaozi ~]# vim /etc/pure-ftpd/pure-ftpd.conf |
启动pure-ftpd
1 | [root@jiaozi ~]# systemctl start pure-ftpd |
查看服务状态
1 2 3 | [root@jiaozi ~]# ss -naltp |grep pure-ftpd LISTEN 0 9 *:21 *:* users:(("pure-ftpd",pid=17836,fd=4)) LISTEN 0 9 [::]:21 [::]:* users:(("pure-ftpd",pid=17836,fd=5)) |
3.建立账号
为了安全,pure-ftpd使用的账号并非linux的系统账号,而是虚拟账号。
1 2 3 4 5 6 7 8 | #创建虚拟账户,-u是将虚拟用户ftp_usera与系统用户pure-ftp关联在一起,也就是说,使用ftp_usera账号登录ftp后,会以pure-ftp的身份来读取和下载文件,-d是指定ftp_usera账户的家目录,这样可以使用户ftp_usera只能访问其家目录/data/ftp/。 [root@jiaozi ~]# mkdir -p /data/ftp [root@jiaozi ~]# useradd -u 1010 pure-ftp [root@jiaozi ~]# chown -R pure-ftp:pure-ftp /data/ftp [root@jiaozi ~]# pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp Password: Enter it again: |
创建用户信息数据库文件
1 2 3 4 5 | [root@jiaozi ~]# pure-pw mkdb #列出当前账号 [root@jiaozi ~]# pure-pw list ftp_usera /data/ftp/./ |
安装lftp客户端
1 2 3 4 5 6 7 8 9 10 | [root@jiaozi ~]# yum install -y lftp #安装完成 已安装: lftp.x86_64 0:4.4.8-12.el7_8.1 作为依赖被安装: gnutls.x86_64 0:3.3.29-9.el7_6 nettle.x86_64 0:2.7.1-9.el7_9 trousers.x86_64 0:0.3.14-2.el7 完毕! |
4.测试链接
1 2 3 4 5 | [root@jiaozi ~]# touch /data/ftp/123.txt [root@jiaozi ~]# lftp ftp_usera@127.0.0.1 口令: lftp ftp_usera@127.0.0.1:~> ls ls: 登录失败: 530 Login authentication failed |
出现登录失败的问题。查了一下原来是我没有输入密码,在“口令”后面输入自己设置的ftp密码就行了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | [root@jiaozi ~]# lftp ftp_usera@127.0.0.1 口令: lftp ftp_usera@127.0.0.1:~> ls drwxr-xr-x 2 1010 pure-ftp 4096 Jun 11 16:50 . drwxr-xr-x 2 1010 pure-ftp 4096 Jun 11 16:50 .. -rw-r--r-- 1 0 0 0 Jun 11 16:50 123.txt lftp ftp_usera@127.0.0.1:~> help !< shell-command > (commands) alias [< name > [< value >]] attach [PID] bookmark [SUBCMD] cache [SUBCMD] cat [-b] < files > cd < rdir > chmod [OPTS] mode file... close [-a] [re]cls [opts] [path/][pattern] debug [< level >|off] [-o < file >] du [options] < dirs > exit [< code >|bg] get [OPTS] < rfile > [-o < lfile >] glob [OPTS] < cmd > < args > help [< cmd >] history -w file|-r file|-c|-l [cnt] jobs [-v] [< job_no... >] kill all|< job_no > lcd < ldir > lftp [OPTS] < site > ln [-s] < file1 > < file2 > ls [< args >] mget [OPTS] < files > mirror [OPTS] [remote [local]] mkdir [-p] < dirs > module name [args] more < files > mput [OPTS] < files > mrm < files > mv < file1 > < file2 > [re]nlist [< args >] open [OPTS] < site > pget [OPTS] < rfile > [-o < lfile >] put [OPTS] < lfile > [-o < rfile >] pwd [-p] queue [OPTS] [< cmd >] quote < cmd > repeat [OPTS] [delay] [command] rm [-r] [-f] < files > rmdir [-f] < dirs > scache [< session_no >] set [OPT] [< var > [< val >]] site < site-cmd > source < file > torrent [-O < dir >] < file |URL>... user < user |URL> [< pass >] wait [< jobno >] zcat < files > zmore < files > lftp ftp_usera@127.0.0.1:/> exit |
参考:
https://blog.csdn.net/weixin_36171533/article/details/84974478
这篇关于CentOS7使用pure-ftpd搭建ftp服务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-15你可能误会了!用 TypeScript 的正确姿势并不是这样子的
- 2025-01-14成本考量下,开源 CMS 内容管理系统为何脱颖而出
- 2025-01-14用Diffusers结合CivitAI模型、LoRAs和文本反转生成更高质量的图像
- 2025-01-14利用ChatGPT自动构建知识图谱的方法讲解
- 2025-01-14?? 缓存增强生成(CAG):一个崛起的RAG竞争对手?
- 2025-01-14Apache Spark及分布式计算概览
- 2025-01-14AWS入门第一篇——云基础与EC2实例详解
- 2025-01-14Apache Iceberg:现代数据栈中的“新一代Hadoop”?
- 2025-01-14深入理解 ECMAScript 2024 新特性:Promise.withResolvers
- 2025-01-13SRM vs SCM:企业管理中的差异战略与实践