Linux基础(day58)

15.4 xshell使用xftp传输文件

  1. 在xshell按快捷键 ctrl+alt+f ,会自动弹出一个xftp的提示下载界面
  2. 进入到下载界面
  1. 选择下载以后,会进入一个填写资料的页面,上面的是免费的,下面的收费的,我们选择上面一个填写资料
  1. 邮箱项,很重要。因为会在你的邮箱里有下载地址和使用教程,是通过邮箱发送,而且最好使用一些比较权威的邮箱;如果是qq邮箱国外发送邮件会有一些延迟;
  1. 获取到下载地址开始下载,就可以直接下载了
  1. 下载完成后,直接默认安装,就可以使用了,这时再使用xshell登录主机,按下ctrl+alt+f;就会弹出一个xftp的页面
  1. 打开之后会进入到root目录下,使用的是ssh协议
  1. 这时在虚拟机上暂停掉21端口,会发现仍然可以传输文件
systemctl stop vsftpd
  1. 若是需要下载linux系统里的文件,只需双击,或者直接拖动到左边(桌面)就会有下载的文件

总结

  • xftp走的是ssh协议,不属于ftp,这种只要是linux开启了sshd服务就可以用。
  • vsftp获取其他ftp软件实现的是ftp服务,windows上可以搭建,linux上也可以搭建

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 ~]# 
  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:/> 

扩展

  1. vsftp使用mysql存放虚拟用户并验证
  2. ftp的主动和被动模式

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏A周立SpringCloud

用户定义网络中的内嵌DNS服务器

本节中的信息涵盖用户自定义网络中的容器的内嵌DNS服务器操作。连接到用户自定义网络的容器的DNS lookup与连接到默认 bridge 网络的容器的工作机制不...

3105
来自专栏编程坑太多

跟我一起学docker(二)--核心概念和安装

1814
来自专栏前端开发

sublime注册码失效解决办法

该窗口的大致含义就是说你使用的 License 是一个 Sublime Text 2 版本的 Licence(当前是3),问你是否需要升级你的 Licence,...

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

如何在CentOS 7上使用Docker安装Prometheus

Prometheus是一个开源监控系统和时间序列数据库。它涉及监控的许多方面,例如度量标准的生成和收集,在仪表板上绘制结果数据以及针对异常情况发出警报。为实现这...

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

使用GitLab构建Docker镜像并托管

容器化正迅速成为在云环境中打包和部署应用程序的最常用方法。它提供的标准化,以及其资源效率和灵活性,使其成为现代DevOps思维模式的重要推动者。当您的应用程序和...

1.2K0
来自专栏xingoo, 一个梦想做发明家的程序员

Docker镜像

docker镜像123? 额,由于没有实验环境,没有亲手实践,因此理解可能有不对的地方。 反正也是学习笔记,以后再修改吧... docker的镜像跟virtua...

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

如何在Ubuntu 14.04上使用Docker安装Prometheus

Prometheus是一个开源监控系统和时间序列数据库。它涉及监控的许多方面,例如度量标准的生成和收集,在仪表板上绘制结果数据以及针对异常情况发出警报。为实现这...

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

使用GitLab构建Docker镜像并托管

容器化正迅速成为在云环境中打包和部署应用程序的最常用方法。它提供的标准化,以及其资源效率和灵活性,使其成为现代DevOps思维模式的重要推动者。当您的应用程序和...

3712
来自专栏有困难要上,没有困难创造困难也要上!

使用pipework将Docker容器配置到本地网络环境中

43612

Docker - 如何使用SSH连接到正在运行中的容器

本篇文章主要介绍了如何使用SSH将你的Docker容器与其他Docker容器进行连接的方法,如果我忽略了一个或多个重点,请随意评论/建议。

4127

扫码关注云+社区

领取腾讯云代金券