CentOS7使用pure-ftpd搭建ftp服务
2021/6/12 8:17:16
本文主要是介绍CentOS7使用pure-ftpd搭建ftp服务,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.安装pure-ftpd
#yum源并不包含pure-ftpd,需要安装epel扩展源 [root@jiaozi ~]# yum install -y epel-release
# yum install -y pure-ftpd
安装时发现缺少libmysqlclient.so.18依赖,用find命令检查一下,发现确实没有该依赖。
[root@jiaozi ~]# find / -name libmysqlclient.so*
原因是我在安装mysql的时候没有全部安装,只安装了部分功能,现在只需要找到mysql对应的mysql-community-libs-compat的rpm包进行安装即可。
若安装mysql时不是下载的.rpm-bundle.tar文件,则需要去官网下载安装即可。(https://downloads.mysql.com/archives/community/)
[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命令,安装成功。
[root@jiaozi ~]# cd ~ [root@jiaozi ~]# yum install -y pure-ftpd
2.配置pure-ftpd
说明
在启动pure-ftpd之前,需要先修改配置文件/etc/pure-ftpd/pure-ftpd.conf。
#找到PureDB /etc/pure-ftpd/pureftpd.pdb这一行,删除这一行前面的#号 [root@jiaozi ~]# vim /etc/pure-ftpd/pure-ftpd.conf
启动pure-ftpd
[root@jiaozi ~]# systemctl start pure-ftpd
查看服务状态
[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的系统账号,而是虚拟账号。
#创建虚拟账户,-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:
创建用户信息数据库文件
[root@jiaozi ~]# pure-pw mkdb #列出当前账号 [root@jiaozi ~]# pure-pw list ftp_usera /data/ftp/./
安装lftp客户端
[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.测试链接
[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密码就行了。
[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服务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升