写点什么

linux 入门系列 16-- 文件共享之 Samba 和 NFS

用户头像
黑马腾云
关注
发布于: 2020 年 08 月 29 日
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: \\sambaserver\samba

HomeDir Drive:

Logon Script:

Profile Path: \\sambaserver\samba\profile

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 sambasharet /home/database

[root@sambaserver samba]# restorecon -Rv /home/database/

restorecon reset /home/database context unconfinedu:objectr:homeroott:s0->unconfinedu:objectr:sambasharet:s0

[root@sambaserver samba]#

~~~



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



~~~

[root@sambaserver samba]# getsebool -a |grep samba

sambacreatehome_dirs --> off

sambadomaincontroller --> off

sambaenablehome_dirs --> off

sambaexportall_ro --> off

sambaexportall_rw --> off

samba_portmapper --> off

sambarununconfined --> off

sambasharefusefs --> off

sambasharenfs --> off

sanlockusesamba --> off

usesambahome_dirs --> off

virtsandboxuse_samba --> off

virtusesamba --> off

[root@sambaserver samba]# setsebool -P sambaenablehome_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服务器的匿名用户 |

| norootsquash | 当 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搭建邮件系统。





自学帮



发布于: 2020 年 08 月 29 日阅读数: 80
用户头像

黑马腾云

关注

程序猿,持续创业者。 2020.06.22 加入

“自学帮”公众号主。

评论

发布
暂无评论
linux入门系列16--文件共享之Samba和NFS