15.4 xshell使用xftp传输文件
- 在xshell按快捷键 ctrl+alt+f ,会自动弹出一个xftp的提示下载界面
- 进入到下载界面
![在这里输入图片标题 输入图片说明](https://static.oschina.net/uploads/img/201801/18151653_UuU8.jpg)
- 选择下载以后,会进入一个填写资料的页面,上面的是免费的,下面的收费的,我们选择上面一个填写资料
![在这里输入图片标题 输入图片说明](https://static.oschina.net/uploads/img/201801/18152333_t2Jw.jpg)
- 邮箱项,很重要。因为会在你的邮箱里有下载地址和使用教程,是通过邮箱发送,而且最好使用一些比较权威的邮箱;如果是qq邮箱国外发送邮件会有一些延迟;
![在这里输入图片标题 输入图片说明](https://static.oschina.net/uploads/img/201801/18153458_dvTW.jpg)
- 获取到下载地址开始下载,就可以直接下载了
![在这里输入图片标题 输入图片说明](https://static.oschina.net/uploads/img/201801/18153918_Ns6r.png)
- 下载完成后,直接默认安装,就可以使用了,这时再使用xshell登录主机,按下ctrl+alt+f;就会弹出一个xftp的页面
![在这里输入图片标题 输入图片说明](https://static.oschina.net/uploads/img/201801/18154244_AvbV.jpg)
- 打开之后会进入到root目录下,使用的是ssh协议
![在这里输入图片标题 输入图片说明](https://static.oschina.net/uploads/img/201801/18154408_71Hv.jpg)
- 这时在虚拟机上暂停掉21端口,会发现仍然可以传输文件
systemctl stop vsftpd
- 若是需要下载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服务
- pure-ftpd 比vftpd更加的轻量,更加简单
- 首先需要安装pure-ftpd——>yum install -y pure-ftpd,但有时会提示pure-ftpd不存在,那是因为你缺少epel扩展源——>yum install -y epel-release
[root@hf-01 ~]# yum install -y pure-ftpd
- 安装完之后,更改 /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
保存退出
- 因为pure-ftpd也属于ftp软件,也会监听21端口,所以需要先关闭之前vsftpd监听打开的21端口,否则就会报错
[root@hf-01 ~]# systemctl stop vsftpd
[root@hf-01 ~]#
- 然后再启动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 ~]#
- 创建测试目录,为了给pure-ftpd用户使用,再创建用户
[root@hf-01 ~]# mkdir /data/ftp
[root@hf-01 ~]# useradd -u 1010 pure-ftp
[root@hf-01 ~]#
- 把/data/ftp的属主和属组改成pure-ftp
[root@hf-01 ~]# chown -R pure-ftp:pure-ftp /data/ftp
[root@hf-01 ~]#
- 用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 ~]#
- 可以使用pure-pw --help查看该命令支持那些用法
- 命令pure-pw mkdb,是用来把密码生成系统,也就是pure-ftpd服务所识别的一种文件
- pure-pw mkdb //不执行这一步是无法登录的
[root@hf-01 ~]# pure-pw mkdb
[root@hf-01 ~]#
- 查看命令说明文件,命令pure-pw list/userdel/usermod/passwd 和pure-pw --help 命令一样的用户
测试pure-ftpd
- 先在/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 ~]#
- 使用pure-ftpd
[root@hf-01 ~]# lftp ftp_usera@127.0.0.1
口令:
lftp ftp_usera@127.0.0.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:/>
- 退出pure-ftpd,只需要输入 quit命令 即可
- 这时我们改变123.txt文件的属主和属组
[root@hf-01 ~]# chown pure-ftp:pure-ftp /data/ftp/123.txt
[root@hf-01 ~]#
- 在登录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:/>
扩展
-
vsftp使用mysql存放虚拟用户并验证
-
ftp的主动和被动模式