一、什么是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. s3cmd安装

    配置yum.repos cd /etc/yum.repos.d/ vim s3tools.repo [s3tools] name=Tools for managing Amazon S3 - Simp ...

  2. kali 安装virtualbox

    安装virualbox 的三大步: 1.添加源: Add the following line to your /etc/apt/sources.list: deb http://download.v ...

  3. 20145324 《Java程序设计》第3周学习总结

    20145324 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 1.要产生对象必须先定义类,类是对象的设计图,对象是类的实例,建立实例要用new 2.参数名称与对象数据成员 ...

  4. z-albert之开启博文之路

    其实注册博客园已经蛮久的了,一直都只是停留在看,却没有自己动手一篇属于自己的技术博文.之所以以前一直没写,以前没有工作,一直都是小白.然而今天为什么感写了呢,并不是自己比以前懂得多多少,而是希望将自己 ...

  5. Centos7 Python3.x源码安装

    第一步,安装开发工具集 yum -y groupinstall "Development tools" 第二步,安装相关依赖包: yum -y install zlib-devel ...

  6. LeetCode——Nth Digit

    Question Find the nth digit of the infinite integer sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... ...

  7. 【网络结构】Deep Residual Learning for Image Recognition(ResNet) 论文解析

    目录 0. 论文链接 1. 概述 2. 残差学习 3. Identity Mapping by shortcuts 4. Network Architectures 5. 训练细节 6. 实验 @ 0 ...

  8. P4Lang Repository: Switch

    Github Switch Introduction Structure: +-----+ +-----+ +-----+ +-----+ |App a| |App j| |App n| |App z ...

  9. pathway一些网站

    1.BioCarta_Pathways https://cgap.nci.nih.gov/Pathways/BioCarta_Pathways

  10. 【Python】模块学习之利用string模块造测试数据

    背景 测试过程中需要一些随机数据,使用到了python中的string模块,记录一下 #! /usr/bin/python # coding:utf-8 """ @aut ...