美文网首页
Linux——FTP文件传输服务

Linux——FTP文件传输服务

作者: Xiaobudianer | 来源:发表于2019-08-19 16:56 被阅读0次

    author:XiaoGua
    os:ubuntu16.04
    sudo su:/root管理员

    一、FTP文件传输服务

    FTP(File Transfer Protocol)文件传输协议,是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用端口号20,21。其中20端口用于进行数据传输,端口21用于接受客户端发出的ftp命令和参数。

    一)、FTP协议的传输拓扑

    by XiaoGua

    FTP服务器普遍存在于内网中,具有容易搭建,方便管理

    二)、FTP协议的工作模式

    FTP服务器是按照FTP协议在互联网上提供文件存储和访问服务器的主机,FTP客户端则是向服务器发送连接请求,建立数据传输链路的主机。

    主动模式:FTP服务器主动向客户端发起连接请求
    被动模式:FTP服务器等待客户端发起连接请求(FTP默认工作模式)
    防火墙一般是用于过滤从外网进入内网的流量,有时候需要将FTP的工作模式设置为主动模式,才可以传输数据

    vsftpd(very secure ftp daemon)非常安全的ftp守护进程,是一款运行在Linux操作系统上的FTP服务程序,不仅开源且免费,具有高安全性,传输速度,支持虚拟用户验证等

    1、安装vsftpd

    apt install vsftpd
    安装结束后,可以启动该服务
    systemctl start vsftpd
    systemctl status vsftpd

    2、配置vsftpd文件

    vsftpd默认的配置文件为/etc/vsftpd.conf,该文件为一个纯文本文件

    3、vsftpd服务程序

    vsftpd作为更加安全的文件传输的服务程序,允许用户以三种认证模式登录到FTP服务器上。

    匿名开放模式:是一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到FTP服务器。
    本地用户模式:是通过Linux系统本地的账户密码信息进行认证的模式,但是如果黑客黑掉了账户的信息,就可以无畅通地登录FTP服务器,从而控制整台服务器
    虚拟用户模式:三种中最安全的一种认证模式,它需要为FTP服务单独建立用户数据文件,虚拟出用来进行口令验证的账户信息。而这些账户信息在服务器系统中是实际不存在的,仅供FTP服务程序进行认证使用。

    1)、匿名开放模式
    vsftpd服务默认开启了匿名开放模式,
    匿名用户:名称为anonymous,用户可以使用这个用户名和自己的电子邮件地址作为密码。登录FTP服务器,FTP服务器会划分出一个或则几个目录,供匿名用户下载文件,甚至是有些FTP服务业允许匿名用户上传文件。
    对于vsftpd,要启用匿名用户登录,则需要将anonymous_enable选项的值设置为yes,

    by XiaoGua
    通常情况下FTP服务器不允许匿名用户上传文件,以避免引起安全隐患。
    by XiaoGua
    2)、本地用户模式
    本地用户:linux系统中的用户。vsftpd允许使用本地用户直接登录,FTP和Linux系统用户就可以集成在一起。
    local_enable=YES
    by XiaoGua
    将local_enable改为YES,所有有效的本地用户可以登录vsftpd

    如果只想限制某些特定的用户不可以连接vsftpd
    userlist_enable=YES
    userlist_deny=YES
    userlist_file=/etc/vsftpd/user_list

    在Ubuntu系统中,自行建立/etc/vsftpd/user_list


    by XiaoGua
    by XiaoGua

    /etc/ftpusers在vsftpd服务安装后,由系统自主创建,与/etc/vsftpd/user_list类似,该文件中也包含一系列的用户名。

    by XiaoGua
    该功能是用来限制其中的用户登录FTP服务
    如果管理员想要拒绝某个用户登录vsftp,直接将其加入文件中即可。
    注意:如果某个用户同时在/etc/vsftpd/user_list和/etc/ftpusers中,即使userlist_deny的值设置为NO的情况下,vsftpd仍然会拒绝用户登录

    二、Samba资源共享

    smba是linux和unix系统中实现SMB协议的一个软件包,SMB协议,成为服务信息块,是一个 网络文件共享协议。它允许应用程序和终端用户从远端的文件服务器访问文件资源。
    一)、安装samba


    by XiaoGua

    二)、安装结束后,启动samba服务
    1、systemctl start samba


    by XiaoGua
    解决办法:
    sudo systemctl unmask samba
    sudo systemctl enable samba

    sudo systemctl restart samba
    sudo rm rm /lib/systemd/system/samba.service


    by XiaoGua
    表明Samba服务已经处于运行状态
    2、添加一个可以访问samba共享服务的用户,首先的是linux的本地用户
    smbpwssd [options] username
    options选项参数
    -a:添加Samba用户
    -d:禁用Samba用户
    -e:重新启用某个Samba用户
    -n:取消密码
    -x:删除Samba用户
    by XiaoGua

    3、设置指定共享资源
    samba的配置文件:/etc/samba/smb.conf
    smb.conf文件的选项非常多。大致分为全局选项和共享选项两大类。
    其中全局选项中最重要的是security,该选项用来指定Samba的认证方式。

    Samba的4种认证方式。
    share:用户访问Samba提供的共享资源不要账号和密码
    user:用户访问Samba共享资源需要提供账号和密码
    server:依靠服务器。
    domain:域安全级别。使用主域控制器来完成。

    设置共享资源配置
    修改配置文件/etc/samba/smb.conf
    [work]
    comment=Directory Work
    path=/samba
    readonly=no
    pubic=yes
    writable=yes
    browseable=yes
    write list=yes
    valid users=xiaogua
    win8
    打开控制面板->选择”网络和Internet“——>查看计算机和设备


    by XiaoGua

    打开”“网络对话框”,启用Samba共享服务的计算机
    双击“Ubuntu,输入账号和密码
    账号:xiaogua
    密码:是smbpasswd的密码
    三、TFTP简单文件传输协议
    TFTP是一种基于UDP协议在客户端和服务器之间进行简单文件传输的协议。
    它提供不复杂、开销不大的文件传输服务。可以认为是FTP的简化版本
    1、安装tftp


    by XiaoGua

    相关文章

      网友评论

          本文标题:Linux——FTP文件传输服务

          本文链接:https://www.haomeiwen.com/subject/enrssctx.html