15.5 使用pure-ftpd搭建ftp服务

使用pure-ftpd搭建ftp服务目录概要

  • yum install -y epel-release
  • yum install -y pure-ftpd
  • vim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb这行,把行首的#删除
  • systemctl stop vsftpd
  • systemctl start pure-ftpd
  • mkdir /data/ftp
  • useradd -u 1010 pure-ftp
  • chown -R pure-ftp:pure-ftp /data/ftp
  • pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp
  • pure-pw mkdb
  • pure-pw list/userdel/usermod/passwd

使用pure-ftpd搭建ftp服务

  1. pure-ftpd 比vftpd更加的轻量,更加简单
  2. 首先需要安装pure-ftpd——>yum install -y pure-ftpd,但有时会提示pure-ftpd不存在,那是因为你缺少epel扩展源——>yum install -y epel-release
[root@hf-01 ~]# yum install -y pure-ftpd
  1. 安装完之后,更改 /etc/pure-ftpd/pure-ftpd.conf 配置文件,找到pureftpd.pdb这行,把行首的# 号 删除,目的是为了把密码配置文件要指定
[root@hf-01 ~]# vim /etc/pure-ftpd/pure-ftpd.conf

搜索/pureftpd.pdb行首的 #号  删除
PureDB                        /etc/pure-ftpd/pureftpd.pdb

保存退出
  1. 因为pure-ftpd也属于ftp软件,也会监听21端口,所以需要先关闭之前vsftpd监听打开的21端口,否则就会报错
[root@hf-01 ~]# systemctl stop vsftpd
[root@hf-01 ~]# 
  1. 然后再启动pure-ftpd服务,并查看端口,查看pure-ftpd服务
  • systemctl start pure-ftpd
[root@hf-01 ~]# systemctl start pure-ftpd
[root@hf-01 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1617/master         
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:56265           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      1264/rpc.mountd     
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      3142/pure-ftpd (SER 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1237/sshd           
tcp        0      0 0.0.0.0:48248           0.0.0.0:*               LISTEN      1234/rpc.statd      
tcp6       0      0 ::1:25                  :::*                    LISTEN      1617/master         
tcp6       0      0 :::32863                :::*                    LISTEN      1234/rpc.statd      
tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
tcp6       0      0 :::45956                :::*                    LISTEN      -                   
tcp6       0      0 :::3306                 :::*                    LISTEN      1645/mysqld         
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::20048                :::*                    LISTEN      1264/rpc.mountd     
tcp6       0      0 :::21                   :::*                    LISTEN      3142/pure-ftpd (SER 
tcp6       0      0 :::22                   :::*                    LISTEN      1237/sshd           
[root@hf-01 ~]# ps aux |grep ftp
root      3142  0.0  0.1 200952  1180 ?        Ss   04:33   0:00 pure-ftpd (SERVER)
root      3145  0.0  0.0 112676   984 pts/0    S+   04:34   0:00 grep --color=auto ftp
[root@hf-01 ~]# 
  1. 创建测试目录,为了给pure-ftpd用户使用,再创建用户
[root@hf-01 ~]# mkdir /data/ftp
[root@hf-01 ~]# useradd -u 1010 pure-ftp
[root@hf-01 ~]# 
  1. 把/data/ftp的属主和属组改成pure-ftp
[root@hf-01 ~]# chown -R pure-ftp:pure-ftp /data/ftp
[root@hf-01 ~]# 
  1. 用pure-pw useradd 命令创建一个用户
  • pure-pw useradd [指定用户] -u [指定系统用户] -d [指定虚拟用户的家目录]
[root@hf-01 ~]# pure-pw useradd ftp_usera -u pure-ftp  -d /data/ftp
Password:         //密码为 hanfeng
Enter it again: 
[root@hf-01 ~]# 
  1. 可以使用pure-pw --help查看该命令支持那些用法
  2. 命令pure-pw mkdb,是用来把密码生成系统,也就是pure-ftpd服务所识别的一种文件
  • pure-pw mkdb //不执行这一步是无法登录的
[root@hf-01 ~]# pure-pw mkdb
[root@hf-01 ~]# 

pure-ftpd 建立虚拟用户数据

  1. 查看命令说明文件,命令pure-pw list/userdel/usermod/passwd 和pure-pw --help 命令一样的用户

测试pure-ftpd

  1. 先在/data/ftp/目录下创建一个文件
[root@hf-01 ~]# pure-pw useradd ftp_usera -u pure-ftp  -d /data/ftp^C
[root@hf-01 ~]# touch /data/ftp/123.txt
[root@hf-01 ~]# 
  1. 使用pure-ftpd
[root@hf-01 ~]# lftp ftp_usera@127.0.0.1
口令: 
lftp ftp_usera@127.0.0.1:~> 
  1. 可以查看到刚创建的123.txt文件,uid和gid为root
lftp ftp_usera@127.0.0.1:~> ls      
drwxr-xr-x    2 1010       pure-ftp           20 Jan 19 04:51 .
drwxr-xr-x    2 1010       pure-ftp           20 Jan 19 04:51 ..
-rw-r--r--    1 0          0                   0 Jan 19 04:51 123.txt
lftp ftp_usera@127.0.0.1:/> 
  1. 退出pure-ftpd,只需要输入 quit命令 即可
  2. 这时我们改变123.txt文件的属主和属组
[root@hf-01 ~]# chown pure-ftp:pure-ftp /data/ftp/123.txt
[root@hf-01 ~]# 
  1. 在登录pure-ftpd中去查看123.txt文件的属主和属组,会看到属主为uid,属组映射为系统中组的名字pure-ftpd
[root@hf-01 ~]# lftp ftp_usera@127.0.0.1
口令: 
lftp ftp_usera@127.0.0.1:~> ls      
drwxr-xr-x    2 1010       pure-ftp           20 Jan 19 04:51 .
drwxr-xr-x    2 1010       pure-ftp           20 Jan 19 04:51 ..
-rw-r--r--    1 1010       pure-ftp            0 Jan 19 04:51 123.txt
lftp ftp_usera@127.0.0.1:/> 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏hbbliyong

docker 创建mysql镜像,并成功进行远程连接

然后可以进入容器的命令行模式,接着修改 /etc/mysql/my.cnf 文件即可

1611
来自专栏JMCui

Docker 系列四(自定义仓库).

    Docker hub 是 Docker 官方维护的一个公共仓库,大部分需求都可以通过在 Docker hub 中直接下载镜像来完成。接下来,来看一下怎么...

1993
来自专栏写代码的海盗

Dockerfile 最佳实践 OverviewGeneral guidelines and recommendationsThe Dockerfile instructions

Dockerfile 最佳实践 本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢!   ...

3069
来自专栏finleyMa

docker学习系列2 保存对容器的修改

注意: 经查,不推荐更改运行中的容器配置,容器本身是无状态的,当然也可以通过进入容器内部的方式进行更改: docker exec -it 这样的更改是无法持久...

1.8K1
来自专栏Python爬虫与算法进阶

Pycharm插件推荐:Docker integration

在设置-Plugins-BROWSE REPOSITORIES… 中搜索“Docker”

6392
来自专栏云计算

Docker for Devs:创建一个开发版镜像

Docker for Devs 系列包括以下6篇文章,这是第二篇。

3369
来自专栏运维前线

Docker 常用命令收录 -- 持续更新

Docker 常用命令收录 容器操作 docker build -t friendlyname . # 使用当前目录下的内容创建Dockerfile镜像文件 ...

2175
来自专栏散尽浮华

Docker管理工具-Swarm部署记录

介绍另一个管理工具Swarm的用法,Swarm是Docker原生的集群管理软件,与Kubernetes比起来比较简单。

6136
来自专栏雨过天晴

原 荐 docker清理

1902
来自专栏云计算教程系列

腾讯云CIS入门——Kubernetes部署

容器实例服务(Container Instance Service , CIS)可以帮您在云上快捷、灵活的部署容器,让您专注于构建程序和使用容器而非管理设备上。...

6037

扫码关注云+社区

领取腾讯云代金券