一、什么是CIFS

CIFS(Common  Internet  File  System)文件系统,也叫通用网络文件系统;它可以使一台主机访问远程主机上共享出去的文件。CIFS使用的C/S模式(客户端向服务器端发出请求,服务器端接受并作出回应)。CIFS是公开的开放的SMB(server  messages  block,服务信息块)协议。SMB现在在局域网上用于服务器文件访问和打印的协议。

(一)SAMBA实现文件共享

二、SAMBA的安装和使用

1).首先,在服务器端进行文件共享前,要安装一个samba软件。 (Samba是在linux和linux系统上实现SMB协议的一个免费软件)

yum  install  samba  samba-client  samba-common  -y

systemctl  start smb                                ##启动smb服务

      systemctl status  smb.server            
   2)安装好之后,添加smb用户

pdbedit  -L                                     ##查看已有的sam用户
     smbpasswd  -a   student                  ##添加用户,且该用户要在系统中存在

3)使用smb用户登陆使用

smbclient  -L  //172.25.254.121  -U  student      ##查看可以共享的目录(student)

smbclient    //172.25.254.121/student  -U  student         ##登陆,要输入密码,可以查看到共享文件内容

注释:要是在客户端连接有问题的时候,可以加入本地解析
              vim  /etc/hosts
              172.25.254.121  apache.example.com

使用smb用户进入共享目录, 不可以进行文件的建立和删除;若是想进行那些操作,就需要挂载使用。(
   2)修改主配置文件,把新建的共享目录添加进去

vim /etc/samba/smb.conf
         [linux]                                   ##显示共享目录的名字,自己取
         comment=dir from xniu         ##提示信息
         path=/xniu                             ##共享文件的绝对路径

3)完成之后,还是不可以访问改共享目录,此时需要修改安全上下文为samba服务相一致

semanage fcontext -a -t samba_share_t '/xniu(/.*)?'
         restorecon -RvvF  /xniu/                                                 ##刷新
         ls -Zd /xniu/                                                                   ##查看目录的安全上下文信息,与samba中安全上下文一致。
   4)修改之后结果如下:(可以显示/xniu/中内容)

   5)修改/etc/samba/smb.conf配置文件,使我们可以对/xniu共享目录创建可写
        vim     /etc/samba/smb.conf                ##添加可写设定:writeable=yes

        在21主机进行测试:(

六、对系统目录/mnt/共享的访问设定
   1)编辑主配置文件

vim /etc/samba/smb.conf               ##在配置文件中添加如下信息
        [mnt]
        comment=dir  from  mnt
        path=/mnt

2) 同样,只可以查看到共享目录,不可以列出目录下的内容。需进行如下修改

setsebool -P  samba_export_all_ro on                ##修改更大的权限

gersebool    -a     |  grep   samba                        ##查看修改后的参数状态

3)显示结果如下:(此刻的/mnt目录安全上下文没有改变,还是可以访问)

4)若要对系统目录进行读写,需要进行如下修改:

setsebool -P samba_export_all_rw  on

补充:共享目录的其他参数:
      valid  users = @student        ##表示student用户组可以执行挂载操作
      valid  users = student           ##表示只有student用户可以使用(修改linux的可用用户为student,结果如下所示)

writable = yes                     ##用户对共享目录目录可写
      write list = student              ##可写的对象是student
      guest  ok=yes                     ##表示匿名用户可以挂载

browseable = no                 ##是否可以显示
      admin  users = student        ##添加共享目录的管理员,(创建出来的用户组是student)
(二)NFS实现文件共享
七、NFS的安装和使用(当客户端和服务器端都是linux系统)
  1)服务器端执行步骤如下:

yum install nfs-utils.86_64                           ##安装软件nfs-utils
        systemctl  start  nfs                                ##启动服务
        vim  /etc/export  ---> /xniu  *(rw,sync)        ##编辑共享目录/xniu和共享所有数据 且可读写       
        exportfs     -rv                                       ##刷新(不可以使用restart.因为客户端正在挂载该设备。)

2)客户端的操作如下:

showmount -e 172.25.254.121               ##显示连接情况

mount 172.25.254.121:/xniu /mnt/         ##进行挂载使用   (若出现权限问题,修改/xniu目录权限为777即可)      
       
        df                         ##显示挂载情况
  3)若想要在客户端实现自动挂载,可以安装软件autofs.x86_64;客户端具体操作如下

yum install autofs.x86_64 -y            
         systemctl start autofs       
         cd    /net/172.25.254.121/xniu/                        ##可以直接进入共享目录中(df查看到它已经自动挂载了)

注释:当退出挂载目录时,过一会挂载会自动取消,也可以在/etc/autofs.conf中修改退出后自动卸载时间。

4)在客户端修改默认挂载目录,即只需要切换到目录/opt/nfs/newdir就可以实现挂载,进入共享目录

vim /etc/auto.master  -->    /opt/nfs        /etc/auto.nfs                     ##/opt/nfs为共享目录/xniu的上级目录
           vim /etc/auto.nfs   -->    newdir  -ro   172.25.254.121:/xniu               ##实现目录的挂载为只读
           systemctl restart autofs.service
           cd   /opt/nfs/newdir                                                                      ##切换到目录下,显示共享目录的内容

                     
注释:在客户端进行文件创建出现权限问题,应该修改两处的wr。
服务器端的参数的修改:

/xaut   *(sync,rw,anonuid=1000,anongid=1001)                 ##对目录的访问为读写,在服务器端生成的文件用户和用户组分别为1000,1001
      no_root_squash                                                               ##表示再客户端生成文件是当前用户的
     /xniu  *(sync) 172.25.254.100(rw,sync,no_root_squash)     ##两个不同主机有不同的访问限制

 八、客户端用户认证登陆

在服务器端进行安装:

1)yum    install  cifs-utils   -y

2) vim   /root/smbauth    --->   username= student    password=niu

3) mount   //172.25.254.121/linux  /mnt    -o   multiuser,credentials=/root/smbauth,sec=ntlmssp

4) cifscreds   add  -u    enen   172.24.254.121      ##除了载认证文件里面的用户登陆时,要通过认证。(且用户必须时smb用户)

5)cifscreds  clear  -u  enen 172.25.254.121      ##删除后才可以再次通过认证

LINUX系统下CIFS文件系统的更多相关文章

  1. 深入理解linux系统下proc文件系统内容

    深入理解linux系统下proc文件系统内容 内容摘要:Linux系统上的/proc目录是一种文件系统,即proc文件系统. Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它 ...

  2. Linux系统NFS网络文件系统

    Linux系统NFS网络文件系统 NFS(network file system)网络文件系统,就是通过网络让不同的主机系统之间可以共享文件或目录,此种方法NFS客户端使用挂载的方式让共享文件或目录到 ...

  3. linux系统下的软连接与硬链接

    前几天在linux系统下安装mongoDB,然后运行脚本导入数据的时候遇到了链接库查询不到的情况,如图 1所示.当时是通过创建软连接的方式解决的这个问题.虽然,通过网上的教程解决了这个问题,但是对于软 ...

  4. linux系统下svn服务器操作命令

    linux系统下svn服务器操作命令 .输出指定文件或URL的内容.  svncat 目标[@版本]…如果指定了版本,将从指定的版本开始查找. svncat -r PREV filename > ...

  5. Linux系统下权限管理和命令详解

    下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用, ...

  6. 在 Linux 系统下使用 PhotoRec 工具来恢复已删除或丢失的文件

    PhotoRec – Recover Deleted or Lost Files in Linux 在 Linux 系统下使用 PhotoRec 工具来恢复已删除或丢失的文件 当你在系统中有意或无意地 ...

  7. rsync Linux系统下的数据镜像备份工具

    rsync是Linux系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync支持大多数的类Unix系统,无论是Linux.Solaris还是BSD上都经过了良好的 ...

  8. linux系统下的用户文件句柄数限制

    linux系统下的用户文件句柄数限制 文章来源:企鹅号 为什么要修改用户打开的文件数 系统默认单个进程可以打开1024个文件,对于一些应用如tomcat.oracle等,运行时经常open成千上万个文 ...

  9. Linux系统下的 /etc/fstab 文件解读

    1 [root@localhost ~]# cat /etc/fstab 2 3 # 4 # /etc/fstab 5 # Created by anaconda on Sat Nov 3 12:03 ...

随机推荐

  1. java中数组以及集合

    java中数组: 数组在Java里是一种特殊类型,有别于普通的“类的实例”的对象.但实际数组也是一种对象类型,int[]a = new int[5]  a是在java栈中分配的引用变量,类型是int[ ...

  2. CSS Dimension(尺寸)

    CSS Dimension(尺寸) 一.简介 CSS 尺寸 (Dimension) 属性允许你控制元素的高度和宽度.同样,它允许你增加行间距. 二.Dimension(尺寸)属性值 三.示例 (1)示 ...

  3. android与linux之间的关系

    篇一(system/core/init/init.c): 对Android感兴趣的朋友都知道,Android系统是建立在Linux内核之上的.那么Linux内核和Android什么关系?Linux内核 ...

  4. struts2中各个jar包作用 (转)

    Struts2.3.4 所需的Jar包及介绍 Jar包的分类 jar包名称 jar包版本 jar包 文件名 jar包 的作用 jar包内包含的主要包路径及主要类 依赖的自有jar包名称 依赖的第三方j ...

  5. Elasticsearch之几个重要的分词器

    前提 什么是倒排索引? Elasticsearch之分词器的作用 Elasticsearch之分词器的工作流程 Elasticsearch之停用词 Elasticsearch之中文分词器 Elasti ...

  6. java 二维码生成

    直接上代码: 二维码生成核心类: package com.bbkj.wechat.tool; import java.awt.image.BufferedImage; import java.io.F ...

  7. Sublime Text指南

    转自: http://lucida.me/blog/sublime-text-complete-guide/  摘要(Abstract) 本文系统全面的介绍了Sublime Text,旨在成为最优秀的 ...

  8. 分布式文档存储数据库(MongoDB)副本集配置

    副本集特征: N 个节点的集群 任何节点可作为主节点 所有写入操作都在主节点上 自动故障转移 自动恢复 相关文章: http://www.cnblogs.com/huangxincheng/archi ...

  9. DataTable扩展:转化实体ToList

    直接上代码: 根据属性进行映射:DataTable转化成实体List public static class DataTableExtension { public static List<T& ...

  10. 设计模式——适配器(Adapter)模式

    概述 什么是适配器?在我们生活中的适配器比如插头转换器(中标转美标).USB接口转换器(type-c转苹果),电脑电源适配器(交流电转低电压直流)等.像这种将两者有差异的东西通过适配器使他们成为相互适 ...