笔记内容:
- 15.4 xshell使用xftp传输文件
- 15.5 使用pure-ftpd搭建ftp服务
笔记日期:2017-11-03
15.4 xshell使用xftp传输文件
在官网下载xftp,地址:
http://www.netsarang.com/download/down_form.html?code=523&downloadType=0&licenseType=1
然后到邮箱里点击下载地址:
跳转之后会弹出下载窗口:
下载完成之后:
开始安装:
安装完成,打开后会看到如下界面:
安装完成后,在Xshell中按Ctrl + Alt + F 会自动打开上面这个窗口,但是不同的是会自动连接当前Xshell窗口中的远程机器:
Xftp走的是ssh协议,即便把vsftpd服务停掉也能够进行连接。
现在我们就可以通过这个工具,上传和下载文件了,从Linux中下载文件到Windows双击需要下载的文件或者拖动要下载的文件到左边的Windows窗口中,就会下载到Windows的桌面上:
可以选择下载的路径:
从Windows上传文件到Linux,右键点击需要上传的文件,然后点击传输即可:
这些都是简单的图形化软件操作,在这里就不过多介绍了。
15.5 使用pure-ftpd搭建ftp服务
pure-ftpd比vsftpd更加的轻量和简单,所以下面介绍一下如何使用pure-ftpd搭建ftp服务:
- 如果没有安装epel扩展源的话,需要先安装,命令如下:
yum install -y epel-release
- 然后安装pure-ftpd:
yum install -y pure-ftpd
- 编辑pure-ftpd.conf配置文件,这是pure-ftpd的主要配置文件:
vim /etc/pure-ftpd/pure-ftpd.conf
在文件中找到pureftpd.pdb这行,把行首的#删除,也就是去掉注释,因为pure-ftpd和vsftpd一样需要指定一个用户的密文件:
- 如果你机器上跑了vsftpd的话要先停止这个服务,然后再启动pure-ftpd服务,因为它们都是监听的都是21端口,同时启动会发生端口占用冲突:
systemctl stop vsftpd 停止vsftpd
systemctl start pure-ftpd 启动pure-ftpd
- 添加一个pure-ftp用户:
useradd -u 1010 pure-ftp
- 创建一个给映射pure-ftp用户的虚拟用户使用的目录,也就是虚拟用户的家目录:
mkdir /data/ftp
- 设置目录的属主和属组:
chown -R pure-ftp:pure-ftp /data/ftp
- 创建一个虚拟用户:
pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp
使用pure-pw -help可以看到这个命令的用法:
- 将密码文件,转换成pure-ftpd 服务可识别的二进制文件,不执行这一步是没办法登录的:
pure-pw mkdb
完成以上操作后,服务就搭建好了,现在开始进行测试:
- 在虚拟用户的家目录下创建一个测试文件:
touch /data/ftp/123.txt
- 登录虚拟用户,登录后ls一下看看是否能看到123.txt这个文件:
lftp [email protected]
上图中可以看到测试文件的属主和属组为0,因为这是使用root用户创建的,而root的uid和gid为0,所以显示的是0。我们可以给这个文件更改一下属主和属组就知道了:
可以看到文件的属主为1010,属组为pure-ftp,因为在这里显示的是uid和属组名称。
列出所有的用户命令:
pure-pw list /userdel/usermod/passwd
扩展
vsftp使用mysql存放虚拟用户并验证
http://www.aminglinux.com/bbs/thread-342-1-1.html
ftp的主动和被动模式
http://www.aminglinux.com/bbs/thread-961-1-1.html