Linux——CIFS文件系统(Samba)

一、基本概念

  • CIFS:
      CIFS(Common Internet File System)是一种通用网络文件系统,主要用于网络设备之间的文件共享。CIFS可以在linux系统和windows系统之间共享文件,因此这种文件系统主要用于客户端是windows系统。
      Linux 系统可以挂载和访问 CIFS 文件共享 , 如同常见的网络文件系统一样。然而 , 由于 CIFS 是基于 NTFS 文件系统权限模型及其自身的身份验证系统来构建的 , 因而 CIFS 协议中的所有内容并不能很好地映射到 Linux 中
    CIFS可以提供的功能:
    1.访问服务器本地文件并读写这些文件
    2.与其它用户一起共享一些文件块
    3.在断线时自动恢复与网络的连接
    4.使用统一码文件名
  • samba: 提供cifs协议实现共享文件,主要用于windows与linux的网络文件系统
    软件包:
    Samba-common     Samba 的支持文件
    Samba-client      客户端应用程序
    Samba        服务器应用程序
    服务名称: smb、nmb
    服务端口: 通常使用TCP/445进行所有连接。还使用UDP137、UDP138和TCP/139进行向后兼容
    主配置文件: /etc/samba/smb.conf

二、CIFS文件系统的安装以及与smb用户共享文件配置

  • 环境:
    服务端ip:172.25.254.131
    测试端ip:172.25.254.231
  • 服务端:
  1. 服务端首先下载安装samba及其组件:yum install samba samba-common samba-client
    在这里插入图片描述
    在这里插入图片描述
  2. systemctl satrt smb 将服务开启
    在这里插入图片描述
  3. 关闭防火墙,并设置开机不自启动
    在这里插入图片描述
  4. 添加smb用户,smb用户必须是本地用户,如果没有,则需要新的本地创建
  • student是本身存在的用户,所以添加smb用户成功,而westos用户本身不存在,则添加失败
    在这里插入图片描述
  • 新建wetsos用户后,添加相应的smb用户成功
    在这里插入图片描述
  • pdbedit -L  显示系统中的smb用户
    在这里插入图片描述
  • pdbedit -x   删除指定smb用户
    在这里插入图片描述
  1. 修改selinux的状态为警告模式(selinux本身关闭时不用修改)
    在这里插入图片描述
  • 客户端:
  1. 安装 samba-client
    在这里插入图片描述
    在这里插入图片描述
  2. 测试:
    (1)smb用户上传文件
  • 匿名用户显示内容
    在这里插入图片描述
  • 用smb用户westos显示内容
    在这里插入图片描述
  • 用smb用户身份上传文件(上传的文件是客户端本来存在的文件)
    在这里插入图片描述
    服务端可以看到上传的文件
    在这里插入图片描述
    (2)smb用户挂载
    以挂载的方式进行文件共享,好处就是可以使用shell里的命令
  • 将smb用户家目录挂载在/mnt下
    在这里插入图片描述
  • 进入/mnt创建一个文件wold
    在这里插入图片描述
  • 服务端有此文件,文件共享成功
    在这里插入图片描述

三、smb用户的访问控制

  • 域名的修改
  1. 默认域名为MYGROUP
    在这里插入图片描述
  2. 编辑配置文件修改域名为WESTOS
    在这里插入图片描述
    在这里插入图片描述
  3. 域名修改成功
    在这里插入图片描述
  • selinux状态为强制模式时实现smb用户登录
  1. 修改selinux状态为强制模式
    在这里插入图片描述
  2. 此时smb用户不能正常登录
    在这里插入图片描述
  3. 在服务端查看samba_enable_home_dirs的sebool值,并将其打开
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  4. 此时smb用户可以正常登录
    在这里插入图片描述
  • 白名单的设定
  1. 编辑配置文件
    在这里插入图片描述
    在这里插入图片描述
    表示只允许172.25.254.131登陆访问登陆访问,其余用户默认加入黑名单
  2. 测试:
    在这里插入图片描述
  • 黑名单的设定
  1. 编辑测试文件
    在这里插入图片描述
    在这里插入图片描述
    不允许172.25.254.131登陆访问,其余用户默认加入白名单
  2. 测试
    在这里插入图片描述

四、共享目录

  • 共享自己创建的目录
  1. .建立目录,并在该目录下创建文件用于测试
    在这里插入图片描述
    在这里插入图片描述
  2. 修改主配置文件,将新建的文件目录编辑进去
    在这里插入图片描述
    在这里插入图片描述
  3. 重启服务
    在这里插入图片描述
  4. 客户端可以查看到该目录信息
    在这里插入图片描述
  5. 但是smb用户不能正常登录该目录
    在这里插入图片描述
    这是因为selinux安全上下文的问题
  6. 修改该目录的安全上下文和smb服务的安全上下文保持一致
    递归刷新并显示刷新过程
    在这里插入图片描述
  7. 此时,smb用户可以正常登录该目录
    在这里插入图片描述
  • 共享系统目录
  1. 修改主配置文件
    在这里插入图片描述
    在这里插入图片描述
  2. 在服务端的/mnt下建立文件用于测试
    在这里插入图片描述
  3. 客户端能看到/mnt目录,但是不能看到/mnt里边的文件
    如果将/mnt的安全上下文修改为samba_share_t,显然不太合适,因为/mnt是系统目录
    在这里插入图片描述
  4. 修改方式:将selinux的功能限制打开
    在这里插入图片描述
  5. 此时客户端可以看到/mnt下的文件,共享成功
    在这里插入图片描述
  • 共享目录的功能设定
    添加一个smb用户方便后续测试:
    在这里插入图片描述
  • 设定该目录可以被写
  1. 编辑配置文件
    在这里插入图片描述在这里插入图片描述
    表示允许所有用户可写
  2. 重启服务(后面不再赘述)在这里插入图片描述
  3. 测试:
    此时不能删除共享目录下的内容
    在这里插入图片描述
    服务端修改/hui的权限为777
    在这里插入图片描述
    此时,删除文件成功
    在这里插入图片描述
    上传文件成功
    在这里插入图片描述
  • 指定用户可写
  1. 编辑配置文件
    在这里插入图片描述
    在这里插入图片描述
  2. 测试
    westos用户可写
    在这里插入图片描述
    student用户不可写
    在这里插入图片描述
  • 指定用户组内成员可写
  1. 编辑配置文件
    在这里插入图片描述
    在这里插入图片描述
    此处@|+ 表示指定用户组
  2. 测试:
    student不是westos组内成员,所以不可写
    在这里插入图片描述
    添加student用户到westos组中
    在这里插入图片描述
    此时,student用户可写
    在这里插入图片描述
  • 指定用户登录
  1. 编辑配置文件
    在这里插入图片描述
    在这里插入图片描述
  2. 测试
    在这里插入图片描述
  • 指定用户组内成员登录
  1. 编辑配置文件
    在这里插入图片描述
    在这里插入图片描述
  2. 测试
    在这里插入图片描述
    在这里插入图片描述
    添加westos用户到student组中,则可以正常登录
    在这里插入图片描述
    在这里插入图片描述
  • 设定该目录是否可被浏览
  1. 编辑配置文件
    在这里插入图片描述
    browseable = no(设定该目录不允许被浏览,该目录会被隐藏)
    在这里插入图片描述
    在这里插入图片描述
    browseable = yes(设定该目录允许被浏览,不隐藏)
    在这里插入图片描述
    在这里插入图片描述
  • 设定指定用户为root用户
  1. 编辑配置文件
    在这里插入图片描述
    注意此时要把目录的可写功能打开
    在这里插入图片描述
  2. 测试
    测试端上传一个文件
    在这里插入图片描述
    在服务端:文件的用户名所有人为root
    在这里插入图片描述
    如果将指定信息注释掉
    在这里插入图片描述
    再次上传文件
    在这里插入图片描述
    在服务端:文件的用户名所有人为student
    在这里插入图片描述
  • 匿名用户登录
  1. 编辑配置文件
    在这里插入图片描述
    在这里插入图片描述
    yes表示允许匿名用户登陆
    在这里插入图片描述
  2. 测试
    在这里插入图片描述
    在这里插入图片描述

五、smb的多用户挂载

  • 首先将配置文件中匿名用户登录设定注释掉
    在这里插入图片描述
  • 客户端:在root身份下将共享目录挂载到/mnt,可以看到里面的文件
    但是切换到student用户身份后,仍然可以看到/mnt的内容,这样是不合理的
    在这里插入图片描述
  • 卸载
    在这里插入图片描述
  • 实现多用户挂载的步骤
  1. 在客户端安装多用户挂载的软件
    在这里插入图片描述
    在这里插入图片描述
  2. 编写已知smb用户的认证文件(将用户身份和密码编辑进去)
    在这里插入图片描述
    在这里插入图片描述
  3. 给文件设置权限
    在这里插入图片描述
  4. 挂载
    credentials=/root/passwd   为指定挂载时用到的用户文件,即用户名和密码
    sec=ntlmssp        表示认证方式为标准smb认证方式(加密方式为ntlmssp)
    multiuser          采用多用户挂载
    在这里插入图片描述
  • 在/mnt在新建一个文件,可以看到文件的所有人和所有组恰好是服务端smb用户westos的所有人和所有组
    在这里插入图片描述
    在这里插入图片描述
  1. 切换到本地用户student,则不能查看挂载到/mnt目录的文件
    在这里插入图片描述
    证明未经认证的用户中不能看到/mnt里边的内容,如果想看,必须用smb用户加以认证
  • 给student添加新的smb认证
    (1)首先在服务端新建一个用户,并添加smb用户
    在这里插入图片描述
  • 添加smb用户认证
    在这里插入图片描述
  • 此时用student用户新建文件,可以看到文件的所有人和所有组恰好是服务端smb用户hello的所有人和所有组
    在这里插入图片描述
    在这里插入图片描述
  • 注意
    如果在添加用户认证时在密码输入错误
    在这里插入图片描述
    此时重新添加不成功
    在这里插入图片描述
    我们需要清除缓存,重新认证
    在这里插入图片描述

六、开机自动挂载

  • 先卸载
    在这里插入图片描述
  • 编写自动挂载文件
    在这里插入图片描述
    在这里插入图片描述
  • 自动挂载成功
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值