• NFS网络文件系统


    对于文件系统

    我们可以将其大致分为三类

    本地文件系统 :诸如EXT3/4  swap    FAT32  NTFS

    伪文件系统  (事实上是内存空间)

    诸如 /proc   /sys等

    网络文件系统  -----网络存储空间

    NFS(NETWORK   FILE   System)

    与nfs相关的主要软件包

    nfs-utils-1.2.3-39.el6.x86_64

    rpcbind-0.2.0-11.e16.x86_64    (似乎这两个包默认是装好的)

    系统服务脚本

    nfs  rpcbind

    试验如下

    1检查是否已安装上述的两个包

    2编辑配置文件 vim /etc/exports 其中

    其中需要着重表明的是 共享文件路径 客户端地址范围  以及相关参数

    参数包括rw,ro(可读可写)

    sync,async:同步写,异步写入

    no_root_squash:保留来自客户端的root权限

    all_squash客户端权限都降为nfsmobody

    3服务器启动rpcbind 与nfs ,客户端同过showmount -e 服务器地址查看

    4客户端使用nfs 客户端(即挂载nfs共享目录)我们需要先在客户端开启rpc(远程过程调用)

    5建立远程nfs的挂载点将nfs挂载过来

    6通过更改参数查看nfs的变化

    (1)将no_root_squash 与all_squash同时设置上 看看结果,首先发现在客户端这边无法修改/nfs的权限怀疑此时已被降级为nfsnobody

    为了验证猜想,在服务器一端将/nfsshare修正为777的权限。用root的身份进入目录创建wenjiani_am_root , 通过ll查看(此时已被降级为nfsbobody)

    取消所有的exports中的参数设置。客户端创建文件by_root 利用普通用户登陆,并依次创建文件by_chris 与文件by_kk此时发现意外情况

    为什么chris创建的文件属主为chris属组为nfsnobody  而kk创建的两个文件属主与属组都是nfsnobody ?

    这些普通用户是否和root一样也被降级了?

    =====================================================================================================

    以为联想到1root用户在使用no_root_squash之后能够在客户端保留它的root权限2对比chrisyukk的不同发现chris在客户端也有而kk没有 因此猜测在没有启用all_squash时客户端所创建的文件所获得的权限可能和服务器上与之同名的用户有关(并且依据是uid与gid)为了进一步验证,在服务器端新建用户nfstest并为它指定uid和gid为505

       如果能够满足我们猜想那么我在客户机上新建一个用户test把它uid指定为505 gid指定为500

    那么他创建的文件将显示属主为nfstest属组为chris

    利用test的身份进入/nfs创建文件夹

    似乎并没有达到目标以为属主出现了故障

    可是就在第二次重新启动服务器与客户机后,再打开奇迹发生了

    猜测应该与同步写入有关或者服务器需要重新启动才能识别新的用户id

  • 相关阅读:
    当数据库结构改变时,需要将数据库删除再创建
    命名空间“System.Web.Mvc”中不存在类型或命名空间“Ajax”(是否缺少程序集引用?)
    jqGrid 各种参数 详解
    二维数组最小路径和
    动态规划:最大连续子序列和
    最长递增子序列
    java单例模式的几种实现
    java多线程的实现方法
    sleep与wait的区别
    数组旋转
  • 原文地址:https://www.cnblogs.com/clearlove/p/4141893.html
Copyright © 2020-2023  润新知