• Linux学习89 文件共享服务和ftp基础入门


    一、概述

      1、I/O:网络,存储

        a、存储:SATA,SAS;IDE;SCSI;USB;

        b、DAS:Direct Attached Storage

          (1)、接口类型:"block":可以分区,可以格式化

          (2)、设备:SATA,SAS;IDE;SCSI;USB;

        c、NAS:Network Attached Storage

          (1)、接口类型:"file":不能分区不能格式化,只能访问

          (2)、协议:CIFS(samba),NFS(Network File System)

          (3)、RPC:Remote Procedure Call

        d、SAN:Storage Area Network

          (1)、接口类型:"block"  

          (2)、ISCSI(IP-SAN),FCSAN,FCoE,...

        e、应用层:

          (1)、ftp,...

    二、文件服务:ftp,cifs/nfs

      1、ftp:file transfer protocol,文件传输协议

      2、两类连接:

        a、命令连接:传输命令

        b、数据连接:传输数据

          (1)、两种模式:

            1)、主动模式:PORT

              Server:20/tcp。客户端的命令连接使用的端口向后的第一个可用端口

            2)、被动模式:PASV

              Server:打开一个随机端口,并等待客户端连接

      3、PAM:Pluggable Authenticate Module

        a、rpm -ql pm

        b、高度模块化的。他是一个认证框架:很多程序都可以调用他

      4、ftp协议实现:C/S

        a、Server:

          Windows:Serv-U,IIS,Filezilla

          开源:wuftpd,proftpd,pureftpd,vsftpd(vsftpd is a Very Secure FTP daemon.)

        b、Client:

          Windows:ftp,Filezilla,CuteFTP,FlashFXP,...

          开源:lftp,ftp,Filezilla,gftp,...

      5、vsftpd

        a、安装:yum install -y vsftpd

    [root@www ~]# yum install -y vsftpd

        b、配置文件:

          /etc/vsftpd/vsftpd.conf

          /usr/lib/systemd/system/vsftpd.service #作为独立守护进程运行,相当于只要服务器启动就有进程在。
          /usr/lib/systemd/system/vsftpd.target #作为托管在systemd上运行,相当于服务启动后进程其实没起来,只是用systemd来监听这个端口,一旦有人访问就临时把这个服务启动起来。

          /var/ftp:vsftpd以ftp用户的身份运行进程,默认用户即为ftp用户,匿名用户的默认路径即为ftp用户的家目录/var/ftp

          他也需要文件路径映射:

            URL: SCHEME://username:password@HOST:PORT/PATH/TO/FILE

            路径映射:

              用户家目录:每个用户的URL的/映射到当前用户的家目录。

        c、相应服务配置

          (1)、启动服务

    [root@www ~]# systemctl start vsftpd
    [root@www ~]# ps -aux|grep ftp
    root       9685  0.0  0.0  53216   576 ?        Ss   16:35   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    root       9688  0.0  0.0 112676   980 pts/0    S+   16:36   0:00 grep --color=auto ftp
    [root@www ~]# 
    [root@www ~]# netstat -anpt|grep ftp
    tcp6       0      0 :::21                   :::*                    LISTEN      9685/vsftpd

          (2)、我们在浏览器访问ftp://192.168.10.13即可。我们匿名访问时他会自动映射为一个叫ftp的用户。默认密码为空。我们也可以用anonymous登陆。其实我们匿名可以随便给名字。也可以不用指名字也可以。

    [root@node2 /]# lftp -u ftp 192.168.10.13
    Password: 
    lftp ftp@192.168.10.13:~> ls          
    drwxr-xr-x    2 0        0               6 Aug 03  2017 pub
    lftp ftp@192.168.10.13:/> exit
    [root@node2 /]# lftp -u anonymous  192.168.10.13
    Password: 
    lftp anonymous@192.168.10.13:~> ls    
    drwxr-xr-x    2 0        0               6 Aug 03  2017 pub
    lftp anonymous@192.168.10.13:/> exit

        d、vsftpd以ftp用户的身份运行进程,默认用户即为ftp用户,匿名用户的默认路径即为ftp用户的家目录/var/ftp。

        e、我们匿名用户在pub目录中默认是没有上传等权限的。因此,一个用户通过文件共享服务访问文件系统上的文件的生效权限为此二者的交集。默认情况下匿名用户只有查看下载的权限。

        f、权限定义。

          (1)、在配置文件/etc/vsftpd/vsftpd.conf中定义即可

    [root@www vsftpd]# cp vsftpd.conf{,.bak}
    [root@www vsftpd]# ls
    ftpusers  user_list  vsftpd.conf  vsftpd.conf.bak  vsftpd_conf_migrate.sh
    [root@www vsftpd]# cat vsftpd.conf |grep -Ev "^$|^#"
    anonymous_enable=YES
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    listen=NO
    listen_ipv6=YES
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=YES
    [root@www vsftpd]#
  • 相关阅读:
    VSS與CSV區別
    办公室中节约时间
    C#中用Smtp發郵件
    关于分层结构的感悟(轉)
    Visual Studio.Net 技巧(轉)
    常用數據庫訪問方式比較
    Winows部署中一些內容說明
    适配器模式(Adapter Pattern)(轉)
    Vistual Studio 2005 sp1補丁的詳細內容
    感情 程序 祭 【转】
  • 原文地址:https://www.cnblogs.com/Presley-lpc/p/12966607.html
Copyright © 2020-2023  润新知