• Linux学习笔记——FTP服务器的使用


    FTP服务器的作用主要是文件的上传和下载,这里主要涉及vsftpd工具的使用,服务器端的配置,客户端的使用。


    服务器端

    首先下载 vsftpd 工具,sudo apt-get install vsftpd

    然后配置 /etc/vsftpd.conf 文件:

    listen=YES # 独立运行,不使用xinetd
    listen=No # 暂时不需要使用IPV6
    anonymous_enable=YES # 允许匿名用户登录
    loacl_enable=YES # 允许本地用户登录
    write_enable=YES # 实名用户具有写权限(上传数据)
    local_umask=022 # 
    anon_upload_enable=YES # 匿名用户允许上传数据
    anon_mkdir_write_enable=YES # 匿名用户允许创建目录
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    更详细地解释可以看这篇文章

    然后使用 sudo service vsftpd restart重启服务,简单的FTP服务器就搭建完成了。


    客户端

    实名用户登录

    使用 ftp [服务器IP],然后输入服务器用户的用户名和密码即可完成实名用户登录。

    可以看到进入的目录为 hhhcbw 的家目录。
    然后就可以上传或者下载数据:

    put [文件名] # 上传文件
    get [文件名] # 下载文件
    
    • 1
    • 2

    注意下载的文件会在登入ftp服务时所在的目录。

    ftp服务器只允许上传和下载文件,不允许操作目录,如果想操作目录,只能通过打包实现。

    匿名用户登录

    实名用户登录的弊端是需要服务器的用户名和密码,不安全,因此可以使用匿名用户登录的方式。

    匿名用户不能在任意目录直接切换,只能在一个指定的目录范围内工作。

    首先使用创建一个供匿名用户使用的目录 /home/hhhcbw/Desktop/MyFtp

    然后在配置文件中添加 anon_root=/home/hhhcbw/Desktop/MyFtp/:

    然后重启服务,sudo service vsftpd restart

    MyFtp 创建两个目录 aabb

    依旧使用 ftp [服务器IP] 连接服务器,但是登录的用户名为 anonymous,密码不需要填写直接回车。

    ls 可见当前目录下有 aabb,且 pwd 可见 MyFtp 为根目录,即不能随意切换到其他目录。

    这时匿名用户是无法在目录上传文件的,因为目录对于其他用户是没有写权限的,要在这些目录上传文件需要修改权限。

    然后退出可以使用 byequitexit 三种命令。


    lftp客户端工具

    自带的客户端是无法上传和下载目录,可以使用lftp客户端工具上传和下载目录。

    首先使用 sudo apt-get install lftp 下载lftp客户端工具。

    匿名用户登录
    首先 lftp [服务器IP] 连接服务器,然后输入 login 就可以完成匿名用户登录。
    实名用户登录
    首选 lftp username@服务器IP,然后输入服务器密码。

    使用 lftp 还可以操作本地目录 lpwd 显示本地当前目录,lcd 进入本地某个目录。

    操作文件命令:

    • put 上传文件
    • mput 上传多个文件
    • get 下载文件
    • mget 下载多个文件
    • mirror 下载整个目录及其子目录
    • mirror -R 上传整个目录及其子目录
  • 相关阅读:
    【蓝桥杯】赢球票(模拟、枚举、搜索)
    【笔记】ubuntu 20.04 + mongodb 4.4.14定时增量备份脚本
    纯CSS动态渐变文本特效
    【Redis】CentOs 虚拟机安装 Redis 缓存数据库
    错误:EACCES:权限被拒绝,访问“/usr/lib/node_modules”
    已解决module ‘keras.preprocessing.image‘ has no attribute ‘load_img‘
    GraphX 图计算实践之模式匹配抽取特定子图
    使用Spring Boot注册整合方式整合Servlet三大组件
    黑豹程序员-架构师学习路线图-百科:AJAX
    【Python百日进阶-WEB开发】Day177 - Django案例:09图形验证码(一)
  • 原文地址:https://blog.csdn.net/weixin_44491423/article/details/126824625