zoukankan      html  css  js  c++  java
  • linux入门系列16--文件共享之Samba和NFS

    前一篇文章“linux入门系列15--文件传输之vsftp服务”讲解了文件传输,本篇继续讲解文件共享相关知识。

    文件共享在生活和工作中非常常见,比如同一团队中不同成员需要共同维护同一个文档,在windows环境下,通常会选用第三方协作工具,如腾讯文档,石墨文档等等。

    之前讲解了基于ftp的文件传输,为何还会单独讲解文件共享呢?试想一下,假如我们要修改服务器上某个文件,如果使用ftp的话,需要先下载下来进行修改,然后在上传到服务器。这样是很繁琐的,这时候就可以使用文件共享来解决这个问题。

    文件传输和文件共享有本质的区别,基于ftp协议的文件传输可以实现不同机器之间文件的传输和拷贝,会产生多个副本。而文件共享则只有一个副本,各个客户端连接到共享服务器操作的是同一份文件。

    Linux环境下可以通过Samba服务或NFS服务来实现文件共享,下面分别进行介绍。

    一、文件共享服务Samba

    1.1 Samba概述

    为了解决局域网内的文件和打印机等资源的共享问题,微软和英特尔与1987年共同制定了 SMB(Server Messages Block,服务器消息块)协议,这使得多个主机之间共享文件变得简单。

    到了1991年,一个国外牛逼大学生 为了解决 Linux 系统 与 Windows 系统之间的文件共享问题,基于SMB协议开发出了SMBServer服务程序。它是一款开源的文件共享软件、只需要简单的配置就能实现文件共享。

    后来作者把它注册商标为Samba,它现在已经成为Linux系统和Windows系统之间共享文件的最佳选择

    1.2 Samba安装及配置文件

    安装之前规划并准备实验环境

    角色 操作系统 ip地址 主机名称
    Samba服务器 Centos7 192.168.78.101 sambaserver
    Samba客户端 Centos7 192.168.78.102 cliet
    Samba客户端 Windows10 宿主机即可

    Samba服务程序的名字就是软件包的名字,安装后的服务名叫smb,在sambaserver主机上,通过rpm名称查看系统是否已经安装,如果没有安装则通过Yum软件仓库进行安装。

    [root@sambaserver ~]# rpm -q samba
    package samba is not installed
    [root@sambaserver ~]# yum install samba
    Loaded plugins: fastestmirror, langpacks
    ...省略部分内容
    Installed:
      samba.x86_64 0:4.1.1-31.el7                                               
    Complete!
    [root@sambaserver yum.repos.d]# ^C
    [root@sambaserver yum.repos.d]# rpm -q samba
    samba-4.1.1-31.el7.x86_64
    [root@sambaserver yum.repos.d]# 
    

    安装完成成后,配置文件所在目录为:/etc/samba/,主配置文件为:smb.conf

    [root@sambaserver yum.repos.d]# ll /etc/samba/
    total 20
    -rw-r--r--. 1 root root    20 Dec  3 01:48 lmhosts
    -rw-r--r--. 1 root root   706 Dec  3 01:48 smb.conf
    -rw-r--r--. 1 root root 11327 Dec  3 01:48 smb.conf.example
    [root@sambaserver yum.repos.d]# 
    

    接下来我们看下配置文件里的主要内容,还是按“linux入门系列15--文件传输之vsftp服务”中的2.4.1提到的老规矩,将注释以及空行信息去掉,便于观察配置项。

    [root@sambaserver yum.repos.d]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
    [root@sambaserver yum.repos.d]# cat /etc/samba/smb.conf.bak | grep -v "#" |grep  -v ";" | grep -v "^$">/etc/samba/smb.conf 
    

    以上脚本通过grep命令-v参数反向选择,去掉以#和分号开头的注释信息,用^$过滤掉空白行,过滤无用信息后通过重定向覆写到原始配置文件中。

    接下来看看主配置文件的内容:

    [root@sambaserver yum.repos.d]# cat /etc/samba/smb.conf
    [global]
            workgroup = SAMBA #工作组名称
            security = user  #安全验证的方式,总共有4种:share、user、server、domain
            passdb backend = tdbsam #定义用户后台的类型,共有3种:smbpasswd、tdsam、ldapsam
            printing = cups 
            printcap name = cups
            load printers = yes #设置在 Samba 服务启动时是否共享打印机设备
            cups options = raw  #打印机的选项
    [homes]  #共享参数
            comment = Home Directories #描述信息
            valid users = %S, %D%w%S
            browseable = No #指定共享信息是否在“网上邻居”中可见
            read only = No
            inherit acls = Yes
    [printers] #打印机共享参数
            comment = All Printers
            path = /var/tmp
            printable = Yes
            create mask = 0600
            browseable = No
    [print$]
            comment = Printer Drivers
            path = /var/lib/samba/drivers
            write list = @printadmin root
            force group = @printadmin
            create mask = 0664
            directory mask = 0775
    [root@sambaserver yum.repos.d]#
    

    我直接把注释添加到每项配置的后边,方便查看。

    其中[homes]参数为来访用户的家目录共享信息,[printers]参数为共享的打 印机设备,如果不需要可以手动直接删除即可。

    1.3 Samba文件共享实操

    通过前文可以看到,Samba服务程序的主配置文件包括全局配置参数和区域配置参数。顾名思义,全局配置参数用于设置整体的资源共享环境,对每一个独立的共享资源都有效;而区域配置参数则用于设置单独的共享资源,且只对该资源有效。

    下面我们就来配置并使用Samba服务

    1.3.1 文件共享服务器配置

    (1)Samba主配置文件配置

    [root@sambaserver yum.repos.d]# cd /etc/samba/
    [root@sambaserver samba]# vim smb.conf
    ...省略原有内容
    [database]   #共享名称设为database
            comment=请勿随意修改数据库哟  #提示信息
            path=/home/database  #共享目录/home/database
            public=no    #关闭所有人可见
            writeable=yes #允许写入操作
    

    添加以上内容并保存退出。

    补充一下主配置文件中全局配置global的2个参数,security和passdb backend 。

    从1.2中讲到的主配置文件中可以看出,它们的默认值分别为user和tdbsam。

    其中security有4种安装认证方式,分别如下:

    • share:来访主机无需验证口令,比较方便,但安全性很差

    • user:需验证来访主机提供的口令后才可以访问,提升了安全性

    • server:使用独立的远程主机验证来访主机提供的口令(集中管理账户)

    • domain:使用域控制器进行身份验证

    passdb backend有3种方式,定义用户后台的类型:

    • smbpasswd:使用 smbpasswd 命令为系统用户设置 Samba 服务程序的密码

    • tdbsam:创建数据库文件并使用 pdbedit 命令建立 Samba 服务程序的用户

    • ldapsam:基于 LDAP 服务进行账户验证

    接下来我们就采用默认的user验证模式来进行设置,其他模式的搭配使用暂时不做讲解。

    (2)创建访问共享资源的账号

    从默认配置文件中可以看出,在RHEL7中Samba采用默认的user认证模式,可以确保仅让有密码且受信任的用户访问共享资源,需要先建立账户信息数据库,并且要求账户必须在当前系统中已经存在。

    与前文讲解ftp时类似,要求用户在当前系统中已经存在,是为了避免在创建文件时引起文件权限属性混乱而引发错误。

    用于管理 SMB 服务程序的账户信息数据库的命令为:pdbedit。

    语法格式:

    ​ pdbedit [参数] 账户

    参数:

    参数 作用
    -a 建立Samba用户
    -x 删除Samba用户
    -L 列出账户列表
    -Lv 列出账户详细信息的列表

    先创建用户samba,并设置密码为:123456

    [root@sambaserver samba]# useradd -s /sbin/nologin samba
    [root@sambaserver samba]# passwd samba 
    Changing password for user samba.
    New password: 
    BAD PASSWORD: The password is shorter than 8 characters
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    [root@sambaserver samba]# id samba
    uid=1001(samba) gid=1001(samba) groups=1001(samba)
    [root@sambaserver samba]# 
    

    使用功能pdbedit创建samba服务的用户,密码为888888(注意此处的密码不是samba系统用户登录的密码,虽然也可以设置密码给之前密码相同,但一定要分清楚这2个密码是单独的,不要弄混淆

    [root@sambaserver samba]# pdbedit -a -u samba
    new password: #此处输入密码,密码不一定要给samba用户登录系统的密码一致
    retype new password: #重复输入密码
    Unix username:        samba
    NT username:          
    Account Flags:        [U          ]
    User SID:             S-1-5-21-3641161961-465911512-1567372236-1000
    Primary Group SID:    S-1-5-21-3641161961-465911512-1567372236-513
    Full Name:            
    Home Directory:       \sambaserversamba
    HomeDir Drive:        
    Logon Script:         
    Profile Path:         \sambaserversambaprofile
    Domain:               SAMBASERVER
    Account desc:         
    Workstations:         
    Munged dial:          
    Logon time:           0
    Logoff time:          Wed, 06 Feb 2036 23:06:39 CST
    Kickoff time:         Wed, 06 Feb 2036 23:06:39 CST
    Password last set:    Wed, 22 Jan 2020 14:45:50 CST
    Password can change:  Wed, 22 Jan 2020 14:45:50 CST
    Password must change: never
    Last bad password   : 0
    Bad password count  : 0
    Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    [root@sambaserver samba]# 
    

    (3)创建共享资源的目录

    在前面的第一步中我们配置了共享目录为/home/database。因此我们来创建此目录,需要考虑到文件读写权限问题。

    [root@sambaserver samba]# mkdir /home/database
    [root@sambaserver samba]# chown -Rf samba:samba /home/database/
    [root@sambaserver samba]# 
    

    (4)SELinux上下文和策略设置

    由于/home目录是系统中普通用户的家目录,因此不仅要考虑文件读写权限,还要注意SELinux安全上下文以及域策略所带来的限制(原始的主配置文件中有关于SELinux安全上下文策略的配置说明)。

    设置SELinux安全上下文

    [root@sambaserver samba]# semanage fcontext -a -t samba_share_t /home/database
    [root@sambaserver samba]# restorecon -Rv /home/database/
    restorecon reset /home/database context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:samba_share_t:s0
    [root@sambaserver samba]# 
    

    除了设置上下文,还需要设置SELinux域相关策略,开启相关的策略即可

    [root@sambaserver samba]# getsebool -a |grep samba
    samba_create_home_dirs --> off
    samba_domain_controller --> off
    samba_enable_home_dirs --> off
    samba_export_all_ro --> off
    samba_export_all_rw --> off
    samba_portmapper --> off
    samba_run_unconfined --> off
    samba_share_fusefs --> off
    samba_share_nfs --> off
    sanlock_use_samba --> off
    use_samba_home_dirs --> off
    virt_sandbox_use_samba --> off
    virt_use_samba --> off
    [root@sambaserver samba]# setsebool -P samba_enable_home_dirs on
    [root@sambaserver samba]# 
    

    (5)防火墙设置

    samba服务名称为smb,重启并设为开机启动,清空防火墙策略

    [root@sambaserver samba]# systemctl restart smb
    [root@sambaserver samba]# systemctl enable smb.service 
    Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
    [root@sambaserver samba]# iptables -F
    

    至此,就可以用客户端使用samba服务实现文件共享了

    先在共享目录准备一个文件用于客户端共享

    [root@sambaserver home]# cd database/
    [root@sambaserver database]# ll
    total 0
    [root@sambaserver database]# echo "samba server">samba.txt
    [root@sambaserver home]# chown -Rf samba:samba /home/database/
    [root@sambaserver database]# ll
    total 4
    -rw-r--r--. 1 samba samba 13 Jan 22 15:44 samba.txt
    

    这样客户端就可以查看并编辑此共享文件了。

    Samba支持Windows、Linux、macOS之间文件共享,接下来演示客户端是Linux和Windows的情况。

    1.3.2 Linux客户端访问文件共享服务

    在之前准备的samba客户端主机上安装客户端后,用之前的samba账号密码就可以共享文件了。

    (1)安装共享客户端

    [root@cliet ~]# yum install cifs-utils
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    ...省略部分内容
    Installed:
      cifs-utils.x86_64 0:6.2-10.el7
    Complete!
    [root@cliet ~]# 
    

    (2)创建认证文件

    [root@cliet ~]# vim auth.smb
    username=samba
    password=888888
    domain=SAMBA
    

    保存并退出,用户密码为之前1.3.1第二步中创建的samba用户及对应的密码,domain为主配置文件中的域。

    为了保证不被其他人随意看到,最后把这个认证文件的权限修改为仅root管理才能够读写。

    [root@cliet ~]# ll auth.smb 
    -rw-r--r--. 1 root root 44 Jan 22 15:37 auth.smb
    [root@cliet ~]# chmod 600 auth.smb 
    [root@cliet ~]# ll auth.smb        
    -rw-------. 1 root root 44 Jan 22 15:37 auth.smb
    [root@cliet ~]# 
    

    (3)本地创建目录挂载Samba共享目录

    [root@cliet ~]# mkdir /database
    [root@cliet ~]# vim /etc/fstab 
    //192.168.78.101/database /database cifs credentials=/root/auth.smb 0 0
    #保存并退出
    [root@cliet ~]# mount -a
    

    这样就可以查看并修改共享服务器内的内容

    [root@cliet ~]# ll /database/
    total 4
    -rw-r--r--. 1 root root 13 Jan 22 15:44 samba.txt
    [root@cliet ~]# cat /database/samba.txt 
    samba server
    [root@cliet ~]# 
    
    1.3.3 Windows访问文件共享服务

    本演示以win10为例

    在开始菜单输入共享服务器地址

    在弹出弹出登录框输入正确的账号密码

    进入共享目录

    进入目录后,就可以执行查看、写入、更名、删除文件等操作,在samba服务器和对应的其他客户端就可以看到文件的变化。因此就实现了文件共享。

    二、网络文件系统NFS

    如果你只是在Linux主机之间共享文件,那NFS将更加简单。

    NFS(Network File System即网络文件系统)服务可以将远程 Linux 系统上的文件共享资源挂载到本地主机的目录上,从而使得客户端基于TCP/IP协议,像使用本地主机上的资源一样读写远程Linux系统上的共享文件。

    虚拟机准备,可以单独新克隆两台虚拟机,此处我就直接用原来的2台机器,只是要注意为了避免上一实验的干扰,将之前的Samba客户端作为nfs的服务器,将Samba服务器当作nfs的客户端。规划如下:

    角色 操作系统 ip地址 主机名称
    NFS客户端 Centos7 192.168.78.101 sambaserver
    NFS服务器 Centos7 192.168.78.102 cliet

    2.1 NFS服务器配置

    (1)安装NFS

    RHEL7系统中默认已经安装了NFS服务,可以通过rpm命令查看,当然也可以直接执行如下安装命令,如果有新的包会自动更新,如果已是最新版本则提示Nothing to do。

    [root@cliet ~]# rpm -q nfs-utils
    nfs-utils-1.3.0-0.65.el7.x86_64
    [root@cliet ~]# yum install nfs-utils
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    Package 1:nfs-utils-1.3.0-0.65.el7.x86_64 already installed and latest version
    Nothing to do
    [root@cliet ~]# 
    

    NFS包名为nfs-utils。

    (2)在NFS服务器创建共享目录

    [root@cliet ~]# mkdir /nfs
    [root@cliet ~]# chmod -Rf 777 /nfs/
    [root@cliet ~]# echo "nfs server">/nfs/nfs.txt
    [root@cliet ~]# chmod -Rf 777 /nfs/
    [root@cliet ~]# ll /nfs/           
    total 4
    -rwxrwxrwx. 1 root root 11 Jan 22 23:11 nfs.txt
    [root@cliet ~]# 
    

    创建目录,修改权限,并创建共享文件。

    (3)NFS服务配置

    NFS服务程序配置文件为/etc/exports,默认为空。采用如下格式定义要共享的目录和相应的权限。

    格式:共享目录的路径 允许访问的 NFS 客户端(共享权限参数)

    相关参数及作用如下

    参数 作用
    ro 只读
    rw 读写
    root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
    no_root_squash 当 NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
    all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
    sync 同时将数据写入到内存与硬盘中,保证不丢失数据
    async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会 丢失数据

    按上边的语法格式,把第一步创建的nfs目录共享给192.168.78.0/24网段内的所有主机,让这些主机都有读写权限。为了最大限度保证数据不丢失,在将数据写入到NFS服务器的硬盘中后才会结束操作,同时把来访客户端root管理员映射为本地的匿名用户,配置如下:

    [root@cliet ~]# vim /etc/exports
    /nfs 192.168.78.*(rw,sync,root_squash)
    

    保存并退出,注意ip地址与权限之间没有空格。

    (4)设置防火墙策略

    直接清空iptables防火墙的默认策略,以免默认的防火墙策 略禁止正常的NFS共享服务。

    [root@cliet ~]# iptables -F
    

    (5)启动NFS服务程序

    [root@cliet ~]# systemctl restart rpcbind
    [root@cliet ~]# systemctl enable rpcbind
    [root@cliet ~]# systemctl start nfs-server
    [root@cliet ~]# systemctl enable nfs-server
    

    在使用NFS服务进行文件共享之前,需要使用RPC(Remote Procedure Call,远程过程调用)服务将NFS服务器的I 地址和端口号等信息发送给客户端。

    因此,在启动NFS服务之前,还需要重启并启用 rpcbind 服务程序,并将这两个服务一并加入开机启动项中。

    至此NFS服务器端配置完成,接下来配置NFS客户端。

    2.2 NFS客户端使用

    (1)查看NFS服务器

    查看NFS服务器远程共享信息使用showmount命令。

    语法:

    showmount [参数] 服务器ip

    参数:

    参数 作用
    -e 显示NFS服务器的共享列表
    -a 显示本机挂载的文件资源的情况
    -v 显示版本号

    输出格式为:“共享的目录名称 允许使用客户端地址”

    [root@sambaserver database]# showmount -e 192.168.78.102
    Export list for 192.168.78.102:
    /nfs 192.168.78.*
    [root@sambaserver database]#
    

    (2)创建目录并挂载

    [root@sambaserver database]# mkdir /nfs
    [root@sambaserver database]# mount -t nfs 192.168.78.102:/nfs /nfs
    [root@sambaserver database]# ll /nfs/
    total 4
    -rwxrwxrwx. 1 root root 11 Jan 22 23:11 nfs.txt
    

    使用mount命令并结合-t 参数,指定要挂载的文件系统的类型为nfs,并在命令后面写上服务器的 IP地址、服务器上的共享目录以及要挂载到本地系统的目录/nfs,这样就可以看到共享的目录文件了。

    (3)挂载信息持久化

    为了保证上一步骤的挂载能一直生效,需要将其写入到fstab文件中。

    [root@sambaserver database]# vim /etc/fstab 
    ...省略无关内容
    192.168.78.102:/nfs /nfs nfs defaults 0 0
    

    这样就在本地完成了服务器的文件共享。

    三、自动挂载服务autofs

    3.1 autofs概述

    无论是之前讲解本地yum源的安装还是本文讲解的Samba和NFS服务,都需要将挂载信息接入到/etc/fstab文件中,这样才会使共享资源自动随服务器开机而进行挂载。

    但是如果挂载的远程资源太多,则会给网络带宽和硬件资源带来很大的压力。如果挂载后长期不使用,会造成资源的浪费。

    为了不造成浪费,可以在每次需要使用才才去手动挂载,但是这样操作又非常繁琐。为了解决这个问题,autofs自动挂载服务应运而生。

    与mount命令不同,autofs服务程序是一 种Linux系统守护进程,当检测到用户视图访问一个尚未挂载的文件系统时,将自动挂载该文件系统。

    简单说就是,将挂载信息写入/etc/fstab文件后,系统在每次开机时都自动将其挂载,而autofs 服务程序则是在用户需要使用该文件系统时才去动态挂载,从而节约了网络资源和服务器的硬件资源。

    3.2 autofs安装及配置文件

    3.2.1 autofs安装
    [root@sambaserver database]# yum install autofs
    Loaded plugins: fastestmirror, langpacks
    ...省略部分内容
    Installed:
      autofs.x86_64 1:5.0.7-106.el7
    Dependency Installed:
      hesiod.x86_64 0:3.2.1-3.el7
    Complete!
    [root@sambaserver database]# 
    
    3.2.2 配置文件解释

    autofs服务程序主配置文件为:/etc/auto.master,我们一般采用主配置和子配置的方式进行配置。原因是生产环境中,可能会同时管理很多设备的挂载操作,如果把所有挂载信息都写入主配置文件,一旦内容多了将难以管理,且不利于服务执行效率。

    主配置文件中采用“挂载目录 子配置文件”的格式填写,挂载目录是设备挂载位置的上一级目录。例如,光盘设备一般挂载到/media/cdrom目录中,那么主配置文件中的挂载目录就写成/media即可。

    子配置文件需要用户自定义,文件名称没有严格要求,后缀建议以.misc结束。格式为:“挂载目录 挂载文件类型及权限 :设备名称”。

    下边就以自动挂载光驱为例,进行演示autofs的用法

    3.3 以光驱为例演示sutofs使用

    3.3.1 autofs配置

    主配置文件

    [root@sambaserver database]# vim /etc/auto.master
    #
    # Sample auto.master file
    # This is a 'master' automounter map and it has the following format:
    # mount-point [map-type[,format]:]map [options]
    # For details of the format look at auto.master(5).
    #
    /media /etc/iso.misc
    /misc   /etc/auto.misc
    #
    # NOTE: mounts done from a hosts map will be mounted with the
    #       "nosuid" and "nodev" options unless the "suid" and "dev"
    #       options are explicitly given.
    #
    /net    -hosts
    #
    # Include /etc/auto.master.d/*.autofs
    # The included files must conform to the format of this file.
    #
    +dir:/etc/auto.master.d
    #
    # Include central master map if it can be found using
    # nsswitch sources.
    #
    # Note that if there are entries for /net or /misc (as
    # above) in the included master map any keys that are the
    # same will not be seen as the first read key seen takes
    # precedence.
    #
    +auto.master
    [root@sambaserver database]# 
    

    添加/media /etc/iso.misc保存并退出,其他内容不变。

    子配置文件

    [root@sambaserver database]# vim /etc/iso.misc
    iso -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
    

    保存并退出。

    说明:把光盘设备挂载到/media/iso 目录中,子配置文件可将挂载目录写为 iso,而-fstype 为文件系统格式参数,iso9660 为光盘设备格式,ro、nosuid 及 nodev 为光盘设备具体的权限参数,/dev/cdrom 则是定义要挂载的设备名称。

    3.3.2 启动autofs服务

    配置完成后,启动autofs服务并加入开机启动

    [root@sambaserver database]# systemctl start autofs
    [root@sambaserver database]# systemctl enable autofs
    Created symlink from /etc/systemd/system/multi-user.target.wants/autofs.service to /usr/lib/systemd/system/autofs.service.
    [root@sambaserver database]# 
    
    3.3.3 使用autofs服务

    经过以上操作我们配置并开启了autofs服务,我们先来看下是否已经给我们挂载好了光盘设备

    [root@sambaserver database]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   18G  4.3G   14G  25% /
    devtmpfs                 905M     0  905M   0% /dev
    tmpfs                    914M   76K  914M   1% /dev/shm
    tmpfs                    914M   29M  886M   4% /run
    tmpfs                    914M     0  914M   0% /sys/fs/cgroup
    /dev/sda1                497M  120M  377M  25% /boot
    192.168.78.102:/nfs       18G  4.6G   13G  26% /nfs
    [root@sambaserver media]# ls /media/
    [root@sambaserver media]# 
    

    可以看到光标设备没有挂载上,并且/media 目录中根本就没有 iso 子目录

    接下来,我们直接进入到挂载的/media/iso目录,看看是否有内容

    [root@sambaserver media]# cd /media/
    [root@sambaserver media]# ll
    total 0
    [root@sambaserver media]# cd iso
    [root@sambaserver iso]# ls
    CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
    EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
    EULA             isolinux  repodata  TRANS.TBL
    [root@sambaserver iso]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   18G  4.3G   14G  25% /
    devtmpfs                 905M     0  905M   0% /dev
    tmpfs                    914M   76K  914M   1% /dev/shm
    tmpfs                    914M   29M  886M   4% /run
    tmpfs                    914M     0  914M   0% /sys/fs/cgroup
    /dev/sda1                497M  120M  377M  25% /boot
    192.168.78.102:/nfs       18G  4.6G   13G  26% /nfs
    /dev/sr0                 3.9G  3.9G     0 100% /media/iso
    [root@sambaserver iso]# 
    

    以上演示说明,当切换到iso目录时,也就是说只有使用挂载资源时,autofs才自动进行挂载。当系统重启后可以看到它没有挂载上去,而再次切换到/media/iso目录时,又会自动挂载。通过这种方式实现了按需分配,从而节约带宽等资源。

    在讲解完文件共享之后,下一篇文章将分享使用Postfix和Dovecot搭建邮件系统。

  • 相关阅读:
    浅谈CLR CTS CLS。。。
    "每日一道面试题".net托管堆是否会存在内存泄漏的情况
    “每日一道面试题”.Net中GC的运行机制
    “每日一道面试题”.Net中所有类的基类是以及包含的方法
    c# 逆波兰式实现计算器
    c#控制台实现post网站登录
    c#读取xml文件
    .net md5
    ado.net知识整理
    第八章:Python高级编程-迭代器和生成器
  • 原文地址:https://www.cnblogs.com/heimatengyun/p/12394462.html
Copyright © 2011-2022 走看看