当前位置: 代码迷 >> 综合 >> 网络文件系统【2】(samba的多用户挂载、autofs+samba、nfs、nfs++autofs)
  详细解决方案

网络文件系统【2】(samba的多用户挂载、autofs+samba、nfs、nfs++autofs)

热度:50   发布时间:2023-12-24 23:13:27.0

一、samba的多用户挂载

  • 出现问题:服务器端的共享目录是WESTOS,当客户端的root用户通过持有的samba账号(lee用户身份),将共享目录挂载到/opt目录,此时切换到/opt目录可以看到共享目录中的内容,但此时切换到客户端的westos用户(未经过服务器的samba认证,没有输入用户名和密码),也能看到共享目录的内容。
    解决方法:客户端安装cifs-utils软件
    在这里插入图片描述
    使用mount命令,可以查看到用户挂载信息(使用的samba账号),这样很不安全
    在这里插入图片描述
    编辑/root/westossmb文件(认证密码文件),写入用户名和密码
    在这里插入图片描述
    之后进行挂载,但此时westos仍能看到/opt目录中的内容
    在这里插入图片描述
    先卸载挂载点,在挂载的时候加入参数multiuser(支持多用户认证,没有通过认证的用户不能访问samba服务)
    在这里插入图片描述
    此时,westos用户将无法访问/opt目录
    在这里插入图片描述
    sec参数的要求
    在这里插入图片描述
    查看samba服务的信息
    在这里插入图片描述
    最后加入参数sec=ntlmssp(支持多用户指认证的认证方式)
    在这里插入图片描述
    最后切换到westos用户,通过命令:cifscreds add -u westos 172.25.254.88(为客户端的westos用户添加认证:账号为westos),并输入密码,此时westos认证成功,当westos用户去访问/opt时,也可以看到共享目录中的文件
    在这里插入图片描述

[westos@westosa /]$ cifscreds add -u lee 172.25.254.88
Key search failed: Key has expired :当遇到此报错信息
[westos@westosa /]$ cifscreds add -u lee -d 172.25.254.88
Password:
[westos@westosa ~]$ cifscreds clearall :执行以上两条命令解决报错

二、autofs+samba

  • westosa占用了服务器的资源,但是没有数据交互,所以要对客户端优化,解决服务器端的压力。
    客户端安装autofs软件
    在这里插入图片描述
    编辑/etc/autofs.conf 配置文件,设定3s之后自动卸载;
    在这里插入图片描述
    编辑/etc/auto.master 主策略文件,设定最终挂载点的上层目录为 /westos,以及子策略文件/etc/auto.samba ;
    在这里插入图片描述

编辑子策略文件/etc/auto.samba ,设定最终挂载点、挂载参数(当前使用的挂载资源是samba共享-cifs)、挂载资源(://172.25.254.88/WESTOS)
在这里插入图片描述
设定完成,重启服务,此时/westos目录被自动创建((不需要建立/westos,设定好之后系统会自动映射)
在这里插入图片描述
停止服务后,westos目录消失
在这里插入图片描述
重启之后切换到 /westos/samba目录,df可以看到服务器的共享目录被自动挂载到当前目录
在这里插入图片描述
退出/westos目录,3s之后 df ,共享目录自动卸载
在这里插入图片描述

三、nfs(对数据的传输优化更好,安全性更高)

  • westosb安装 nfs-util服务
    在这里插入图片描述
    设定westosb火墙允许 nfs-server
    在这里插入图片描述
    westosa显示被挂载的共享目录失败
    在这里插入图片描述
    nfs对外开放的端口:2049
    在这里插入图片描述
  • 当westosa访问westosb的nfs服务时,先访问westosb的rpc-bind服务(随即分配端口的程序),接着westosa用随机分配的端口去访问mountd服务(管理挂载设备),为了得到确定的访问端口。
  • 设定westosb火墙允许rpc-bind服务
    在这里插入图片描述
    错误信息发生变化
    在这里插入图片描述
    设定westosb火墙允许 mountd 服务
    在这里插入图片描述
    westosa查看共享目录
    在这里插入图片描述
    编辑nfs的 共享配置文件/etc/exports,设定共享目录,共享范围(所有人),权限(只读),并刷新:exports -rv
    在这里插入图片描述
    westosa查看共享目录成功
    在这里插入图片描述
    此时(服务端)westosa就可以进行挂载
    在这里插入图片描述
    将共享目录的权限改为777,由于设定了/westos目录只读,因此时westosa无法在/mnt中建立文件
    在这里插入图片描述
    设定254网段的用户可以对此共享目录读写,其余用户只读;
    在这里插入图片描述
    此时westosa可以在/mnt中建立文件
    在这里插入图片描述
  • nfs配置参数
    anonuid=1000:指定用户ID为1000,刷新设定
    在这里插入图片描述
    此时在/mnt中所建立的文件拥有者为westos
    在这里插入图片描述
    anongid=1001 :指定用户组为1001
    在这里插入图片描述
    此时在/mnt中所建立的文件拥有组为lee
    在这里插入图片描述
    no_root_squash:不能和指定用户身份的参数(anonuid、anonuid)一起出现;当客户端以root身份挂载共享目录到/mnt后,(在/mnt中建立的文件拥有者和拥有组都是root)延用root身份到服务器。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

sync :更改生成后同步数据到服务器
async :时时同步数据到服务器

四、nfs+autofs

  • 客户端安装autofa自动挂载工具
    在这里插入图片描述
    编辑/etc/auto.master ,设定挂载目录为/westos,策略文件为/etc/auto.nfs,
    在这里插入图片描述
    编辑/etc/auto.nfs,设定最终挂载点为nfs、挂载版本、 nfs服务器的共享目录;
    在这里插入图片描述
    重启服务后生效,当客户端切换到/westos后,可以看到最终挂载目录nfs,进入dfs目录后,df即可看到服务器的共享目录已被自动挂载到/westos/nfs目录上。
    在这里插入图片描述
  • 将共享目录/westos下的目录,分别进行挂载:
    在服务器端共享目录目录/westos下建立5个目录westos{1…5}
    在这里插入图片描述
    编辑/etc/autofs.conf文件,设定等待资源闲置超时3S后,挂载资源自动卸载。
    在这里插入图片描述
    编辑/etc/auto.nfs,设定最终挂载目录为*(/westos下的任意目录),此时,客户端切换到/westos下任意westos*(1…5)目录,df 可以看到挂载信息。
    在这里插入图片描述
    切换到家目录,3s后,挂载资源自动卸载
    在这里插入图片描述
  相关解决方案