• NFS共享


    目录

    三种存储类型

    作用:

    FTP文本传输协议 

    原理

    FTP服务状态码

    用户认证

    常见FTP相关软件

    vsftpd 软件介绍

    用户和其共享目录

    基础操作

    安装服务端

    客户端连接服务端

    登录成功

    匿名用户登录

    1.服务端配置

    2.客户端配置

    3.服务端查看

    匿名用户下载 删除文件

    匿名用户的上传文件的默认的所有者和权限

    Linux系统用户

    禁锢系统用户

    NFS

    工作原理

    NFS软件介绍

    NFS工具

    exportfs:可用于管理NFS导出的文件系统

    showmount

    实验NFS共享

    1.服务端配置(192.168.17.55)

    2.客户端配置(192.168.17.25)


    三种存储类型

    DAS:直接附加存储(直连)

    NSA:网络存储是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便于对不同主机和应用服务器进行访问的技术(网络附加存储)

    SAN:它是一种将存储设备、服务器和网络设备连接起来,形成一个独立的网络结构,以实现数据的存储和备份的系统(存储区域网络)可以使用空间管理也是你来管理

    作用:

    DAS:它是一种将存储设备通过SCSI接口或光纤通道直接连接到服务器的方法。这种存储方式的数据传输速率和可靠性都比较高,而且安装和管理比较简单。DAS适用于数据存储量不大、数据访问频繁且数据变化不频繁的环境。

    NSA:它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。NSA网络存储设备可以在网络上作为一台设备使用,可以跨平台文件共享功能,同时具有高容量、高效能、高可靠的特点。

    SAN:SAN可以实现数据的集中管理和保护,提高存储设备的利用率,同时可以保证数据的安全性和可靠性。SAN还可以提供多种存储服务,如数据备份、容灾、容错等,以满足不同用户的需求。

    FTP文本传输协议 

    原理

    文件传输协议:File Transfer Protocol 早期的三个应用级协议之一,基于C/S结构

    数据传输格式:二进制(默认)和文本

    双通道协议:命令和数据连接 21 命令端口(权限,认证) 20数据端口(真实传数据)

    两种模式:从服务器角度

    主动(PORT style):服务器主动连接客户端

      命令(控制):客户端:随机port ---> 服务器:21/tcp

      数据:客户端:随机port <---服务器:20/tcp

     被动(PASV style):服务器被动等待客户端连接

      命令(控制):客户端:随机port ---> 服务器:21/tcp

      数据:客户端:随机port ---> 服务器:随机port /tcp

    FTP服务状态码

    1XX:信息 125:数据连接打开
    2XX:成功类状态 200:命令OK     230:登录成功
    3XX:补充类     331:用户名OK
    4XX:客户端错误 425:不能打开数据连接
    5XX:服务器错误 530:不能登录

    用户认证

    匿名用户:ftp,anonymous,对应Linux用户ftp

    系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow

    虚拟用户:特定服务的专用用户,独立的用户/密码文件

    常见FTP相关软件

    Wu-ftpd,Proftpd,Pureftpd,Filezilla Server,Serv-U,Wing FTP Server,IIS

    vsftpd:Very Secure FTP Daemon,CentOS 默认FTP服务器

    高速,稳定,下载速度是WU-FTP的两倍

    ftp.redhat.com数据:单机最多可支持15000个并发

    vsftpd官网: https://security.appspot.com/vsftpd.html

    vsftpd 软件介绍

    由 vsftpd 包提供,不再由xinetd管理

    用户认证配置文件:/etc/pam.d/vsftpd

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

    用户和其共享目录

    匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp
    系统用户共享文件位置:用户家目录
    虚拟用户共享文件位置:为其映射的系统用户的家目录

    基础操作

    安装服务端

    1. yum install vsftpd -y
    2. systemctl start vsftpd

    客户端连接服务端

    1. yum install ftp -y //安装客户端ftp服务
    2. [root@localhost ~]# ftp 192.168.17.55 //连接服务端
    3. Connected to 192.168.17.55 (192.168.17.55).
    4. 220 (vsFTPd 3.0.2)
    5. Name (192.168.17.55:root): root //登录用户 ftp匿名用户
    6. 530 Permission denied.
    7. Login failed.
    8. ftp> //登录成功

    登录成功

    1. ftp> help //查看帮助
    2. ftp> ls //查看文件列表
    3. ftp> passive //人为指定被动主动
    4. Ctrl + D 退出

    匿名用户登录

    1.服务端配置
    1. vim /etc/vsftpd/vsftpd.conf
    2. anon_upload_enable=YES //匿名上传,注意:文件系统权限
    3. anon_mkdir_write_enable=YES //匿名建目录

    2.客户端配置
    1. [root@localhost opt]# touch 123.test
    2. [root@localhost opt]# vim 123.test
    3. [root@localhost opt]#
    4. [root@localhost opt]# ftp 192.168.17.55
    5. Connected to 192.168.17.55 (192.168.17.55).
    6. 220 (vsFTPd 3.0.2)
    7. Name (192.168.17.55:root): ftp
    8. 331 Please specify the password.
    9. Password:
    10. 230 Login successful.
    11. Remote system type is UNIX.
    12. Using binary mode to transfer files.
    13. ftp> put 123.test
    14. local: 123.test remote: 123.test
    15. 227 Entering Passive Mode (192,168,17,55,114,68).
    16. 550 Permission denied.
    17. ftp>

    3.服务端查看
    1. [root@localhost opt]# chmod 777 /var/ftp/pub
    2. [root@localhost opt]# cd /var/ftp
    3. [root@localhost ftp]# ll
    4. 总用量 0
    5. drwxrwxrwx+ 2 root root 6 6月 10 2021 pub
    6. [root@localhost ftp]#

    匿名用户下载 删除文件

    在 vsftpd 软件中 只可以 下载有 读权限的文件, 没有读权限的文件时不可以直接下载的需要修改下面的选项

    1. anon_world_readable_only=NO 只能下载全部读的文件, 默认YES
    2. anon_umask=0333 指定匿名上传文件的umask,默认077,注意:0333中的0不能省略
    3. anon_other_write_enable=YES 可删除和修改上传的文件,默认NO

    匿名用户的上传文件的默认的所有者和权限

    匿名用户上传文件默认的所有者是ftp 用户 是可以修改的

    1. chown_uploads=YES        #默认NO
    2. chown_username=zhangsan
    3. chown_upload_mode=0644

    Linux系统用户

    1. local_enable=YES 是否允许linux用户登录
    2. write_enable=YES 允许linux用户上传文件
    3. local_umask=022 指定系统用户上传文件的默认权限对应umask

    禁锢系统用户

    禁锢所有系统用户在家目录中

    chroot_local_user=YES #禁锢系统用户,默认NO,即不禁锢

    禁锢用户开启白名单和黑名单

    1. chroot_list_enable=YES     #默认是NO
    2. chroot_list_file=/etc/vsftpd/chroot_list   #默认值
    3.  
    4. 当chroot_local_user=YES和chroot_list_enable=YES时,则chroot_list中用户不禁锢,即白名单
    5. 当chroot_local_user=NO和chroot_list_enable=YES时, 则chroot_list中用户禁锢,即黑名单

    NFS

    工作原理

    是一种用于在计算机网络中共享文件的协议。它允许远程计算机通过网络访问远程文件系统中的文件,就像访问本地文件一样。NFS的工作原理可以分为四个基本步骤:挂载、访问、操作和卸载

    NFS软件介绍

    软件包:nfs-utils(包括服务器和客户端相关工具,CentOS8 最小化安装时默认没有安装)

    相关软件包:rpcbind(必须),tcp_wrappers

    Kernel支持:nfs.ko

    端口:2049(nfsd), 其它端口由portmap(111)分配

    NFS服务主要进程:

    rpc.nfsd 最主要的NFS进程,管理客户端是否可登录

    rpc.mountd 挂载和卸载NFS文件系统,包括权限管理

    rpc.lockd 非必要,管理文件锁,避免同时写出错

    rpc.statd 非必要,检查文件一致性,可修复文件

    NFS工具

    /dir        主机1(opt1,opt2)     主机2(opt1,opt2)...

    exportfs:可用于管理NFS导出的文件系统

    -v     查看本机所有NFS共享

    -r     重读配置文件,并共享目录

    -a    输出本机所有共享

    -au  停止本机所有共享

    showmount

    -e  查看   远程查看

    实验NFS共享

    1.服务端配置(192.168.17.55)

    1. yum install nfs-utils -y //安装nfs
    2. [root@localhost ~]# systemctl stop firewalld
    3. [root@localhost ~]# setenforce 0 //关闭防火墙和安全核心防护
    4. [root@localhost ~]# vim /etc/exports //编辑配置文件
    5. /share * //本地文件夹 *代表所有
    6. [root@localhost /]#systemctl restart nfs //重启服务
    7. [root@localhost /]# exportfs -v //显示本机共享目录情况
    8. /share (sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
    9. [root@localhost /]# exportfs -r //重新读取共享
    10. exportfs: No options for /share *: suggest *(sync) to avoid warning
    11. [root@localhost /]# cd /share //切换到share 目录
    12. [root@localhost share]# touch qwe
    13. [root@localhost share]# touch rty //创建文件 qwe rty
    14. [root@localhost share]# ls
    15. qwe rty

    进入配置文件

    2.客户端配置(192.168.17.25)

    1. [root@localhost ~]# yum install nfs-utils -y //安装
    2. [root@localhost ~]# systemctl restart nfs //重启服务
    3. [root@localhost ~]# systemctl stop firewalld
    4. [root@localhost ~]# setenforce 0 //关闭安全机制
    5. [root@localhost ~]# showmount -e 192.168.17.55 //查看远程连接
    6. Export list for 192.168.17.55:
    7. /share *
    8. [root@localhost ~]# mount 192.168.17.55:/share /mnt //挂载
    9. [root@localhost ~]# df -h
    10. 文件系统 容量 已用 可用 已用% 挂载点
    11. /dev/mapper/centos-root 27G 5.0G 23G 19% /
    12. devtmpfs 897M 0 897M 0% /dev
    13. tmpfs 912M 0 912M 0% /dev/shm
    14. tmpfs 912M 9.1M 903M 1% /run
    15. tmpfs 912M 0 912M 0% /sys/fs/cgroup
    16. /dev/sda1 1014M 179M 836M 18% /boot
    17. tmpfs 183M 0 183M 0% /run/user/0
    18. tmpfs 183M 28K 183M 1% /run/user/1000
    19. /dev/sr0 4.3G 4.3G 0 100% /run/media/xyc/CentOS 7 x86_64
    20. 192.168.17.55:/share 38G 5.2G 32G 14% /mnt
    21. [root@localhost ~]# cd /mnt //切换目录
    22. [root@localhost mnt]# ls //查看共享文件
    23. qwe rty
    24. [root@localhost mnt]#

  • 相关阅读:
    SpringBoot定时任务 - 集成quartz实现定时任务(单实例和分布式两种方式)
    Spring中InitializingBean接口的功能
    ES6之无命名参数
    知觉的定义
    C陷阱与缺陷 第2章 语法“陷阱” 2.6 “悬挂”else引发的问题
    企业虚拟网络管理
    【学习笔记】Servlet
    【Java】多态中调用成员的特点
    【事故】记一次意外把企业项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
    EPLAN_008#3D布局图
  • 原文地址:https://blog.csdn.net/X2683933654/article/details/134432296