• FTP客户端lftp


    目录

    准备

    1 lftp介绍

    2 lftp语法

    3 lftp选项

    4 下载

     4.1 服务端

     4.2 客户端

    5 上传

    5.1 客户端

     5.2 服务端


    准备

    两台虚拟机(且保证互通)关闭防火墙和SeLinux。

    关闭防火墙

    systemctl stop firewalld

    关闭SeLinux 

    setenforce 0
    vi /etc/sysconfig/selinux

    修改为:SELINUX=disabled

    一台服务端,一台客户端。

    本人IP地址:服务端 192.168.10.113

                         客户端 192.168.10.114

    保证互通可以使用其中一台虚拟机ping另一台虚拟机的IP地址】

    ping+(另一台虚拟机IP地址)

    显示如图所示内容,即表示可以互通。(用Ctrl键+c可以终止)

    1 lftp介绍

    lftp是一款高效的文件传输工具,支持FTP、SFTP、HTTP、HTTPS、HFTP、FISH、SMB、IMAP、POP3和FTP over HTTP等多种协议。它结合了FTP客户端和命令行工具的优点,支持多线程下载、断点续传、自动重试等功能。lftp还具有复制、移动、删除、重命名、压缩和解压缩等文件操作功能,支持批处理和脚本,可用于自动化文件传输任务。同时,lftp还支持远程目录同步,能够将本地目录与远程目录进行同步操作。lftp是一款功能强大、易于使用的文件传输工具,适用于各种操作系统平台。

    lftp支持tab自动补全,进步的命令双击tab键,就可以看到可能的选项了。

    2 lftp语法

    lftp(选项)(参数)

    3 lftp选项

    -f: 指定lftp指令要执行的脚本文件。

    -c:执行指定的命令后退出。

    --help: 显示帮助信息。

    --version: 显示指令的版本号。

    4 下载

     4.1 服务端

    下载安装vsftp服务

    yum -y install vsftpd

    启动服务

    systemctl start vsftpd

     进入/var/ftp/目录

    cd /var/ftp/

    ls命令查看下 

    创建test目录 

    mkdir test

     进入test目录创建haha文件。

    cd test/
    touch haha

     授权

    chmod 777 haha

     4.2 客户端

    yum -y install lftp

    lftp + (服务端IP地址)

    ls命令查看

    进入test下

    cd test/

    【问题解决】 

    cd: Access failed: 550 Failed to change directory. (/pub/test)

    原因:没有关闭selinux或者权限未打开。

    下载文件

    ls命令查看,发现有haha文件,使用get命令下载。

    get haha

     使用exit命令退出。

    exit

     

    ls命令查看

    这样就成功在客户端下载了haha文件。 

    【如果想指定到哪个目录下,就使用 -o参数】注意是小o。

    例如下载到/tmp目录下。

    get haha -o /tmp

    下载目录

    mirror test/

    (子目录也会自动下载)

    5 上传

    5.1 客户端

     先创建一个1的文件

    touch 1

    使用put命令上传

    put 1

    【问题解决】

    原因:

    (1)没有关闭SeLinux

    (2)linux默认安装vsftp服务之后只允许匿名用户的访问和下载,不支持上传。

    解决方法:

    进入服务端

    修改文件vsftpd.conf

    vi /etc/vsftpd/vsftpd.conf

    进入后会发现很多注释(带#的),需要修改如下内容,但是很麻烦,建议直接全部删除,直接输入如下内容。

    1. write_enable=YES
    2. anon_umask=022
    3. anonymous_enable=YES
    4. anon_upload_enable=YES
    5. anon_mkdir_write_enable=YES
    6. anon_other_write_enable=YES
    7. dirmessage_enable=YES
    8. xferlog_enable=YES
    9. connect_from_port_20=YES
    10. xferlog_std_format=YES
    11. listen=YES
    12. pam_service_name=vsftpd
    13. userlist_enable=YES
    14. tcp_wrappers=YES

    编辑完成后保存退出,重新启动vsftp服务。

    systemctl restart vsftpd

    如果没有成功,使用下面方法。

    getsebool -a | grep ftp

    1. setsebool -P allow_ftpd_anon_write on
    2. setsebool -P allow_ftpd_full_access on

    好了,现在可以上传文件啦~

     5.2 服务端

    ls命令查看即可

  • 相关阅读:
    yolov
    求臻医学:乳腺癌治疗与基因检测 探索个性化医疗的未来
    Linux之虚拟主机功能
    【提示学习论文】BlackVIP: Black-Box Visual Prompting for Robust Transfer Learning论文原理
    vue 分页器组件+css动画效果
    ubuntu 20.04 访问csdn报错 Secure connection failed
    蓝桥杯---棋盘(典型的二维差分问题)
    在阿里云和腾讯云的轻量应用服务器上搭建Hadoop集群
    JSP JavaBean的使用
    kubernetes安全机制
  • 原文地址:https://blog.csdn.net/m0_64304713/article/details/133827304