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]#
原文地址:https://www.cnblogs.com/Presley-lpc/p/12966607.html