Lin操作基础系统 13_第1页
Lin操作基础系统 13_第2页
Lin操作基础系统 13_第3页
Lin操作基础系统 13_第4页
Lin操作基础系统 13_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第18章网络资源共享服务《Linux操作系统(第5版)》学习目标了解Samba服务及协议;掌握Samba服务器的配置和使用;了解NFS及其工作原理,掌握NFS服务器的配置和使用章节概述本章重点讲解两种主流跨平台网络共享服务Samba与NFS,先介绍SMB协议与Samba组件、所需软件包、服务启停管理,详解smb.conf文件,同时覆盖Windows/Linux客户端访问方式,以及防火墙、SELinux安全放行配置;再阐述NFS与RPC的协作原理、rpcbind端口映射机制,讲解/etc/exports共享配置规则、各类权限参数,配套showmount、exportfs、nfsstat等运维命令,补充autofs自动挂载方案,最后说明NFS防火墙与SELinux相关配置,对比两种共享服务适用场景与完整实操流程。目录0102Samba服务NFS服务器Samba18.1SMB协议是实现网络上不同类型计算机之间文件和打印机共享服务的协议,为网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB的工作原理就是让NetBIOS与SMB协议运行在TCP/IP上,并且使用NetBIOS的名字解释器,让Linux主机可以在Windows的“网上邻居”中被看到,同时Linux也可看到Windows“网上邻居”中的主机。通过SMB协议,客户端应用程序可以对服务器提出服务请求以及在各种网络环境下读/写服务器上的文件。此外,通过SMB协议,应用程序还可以访问远程服务端的打印机等资源。18.1.1SMB协议与Samba1.继承的概念1.什么是异常SMB协议Samba是在Linux/UNIX系统上实现SMB协议的一组软件包,使Linux支持SMB协议,目前几乎可以在所有的类UNIX平台上运行。Samba基于GPL发行,最新信息和产品可以从/得到。Samba的核心是smb/smbd和nmb/nmbd两个守护进程。smb/smbd监听139TCP端口,nmb/nmbd监听137和138UDP端口。nmb/nmbd是主启动服务器,主要提供文件系统和打印机的共享。nmb/nmbd提供解析功能,主要作用是对外发布Samba服务器可以提供的服务。18.1.1SMB协议与Samba1.继承的概念1.什么是异常Samba简介(1)提供Windows操作系统风格的文件和打印机共享服务。(2)提供SMB客户端功能。Samba利用客户端程序smbclient,可以在Linux系统下以类似于ftp的方式访问Windows/Linux上的资源。(3)备份PC上的资源。Samba利用一个名为smbtar的shell脚本,可以使用tar格式备份和恢复远程Windows上的共享文件。(4)提供一个命令行工具。Samba在其上可以有限制地支持Windows的某些管理功能。18.1.1SMB协议与Samba1.继承的概念1.什么是异常Samba的主要功能与samba服务器、客户端及应用相关的软件包如下。服务器:samba客户端:samba-client(红帽系统)/smbclient(Ubuntu系统)访问Windows所需软件包:samba-winbind(红帽)/winbind(Ubuntu)CIFS工具包:cifs-utils18.1.2Samba的安装与服务管理1.继承的概念1.什么是异常软件安装sudoaptinstallsmbclientsambawinbindcifs-utils-y18.1.2Samba的安装与服务管理1.继承的概念1.什么是异常软件安装Ubuntu系统安装方法18.1.2Samba的安装与服务管理1.继承的概念1.什么是异常服务管理在Ubuntu下,Samba的服务smbd.service。相关的服务,在Ububtu下有smbd、nmbd和winbind,通过主服务smb/smbd管理。启用Samba服务启动Samba服务检查Samba服务运行状态18.1.2Samba的安装与服务管理1.继承的概念1.什么是异常/etc/hosts与/etc/samba/lmhostsSamba使用/etc/samba/lmhosts文件存放NetBIOS名与IP地址的静态映射表,它是一个文本文件,功能类似于/etc/hosts文件,用于名字解析,结构也类似于/etc/hosts文件,但只有前两列。lmhosts在Windows中名为lmhosts.sam,位于[C:]\windows\system32\drivers\etc\。设实验网络内有Fedora42、Ubuntu25、CentOSStream10、OpenEuler25和Windows10等系统。系

名主

名/etc/hosts内容/etc/samba/lmhosts内容Fedora42fedora422fedora42.linux.studyfedora422fedora42Ubuntu25ubuntu255ubuntu25.linux.studyubuntu255ubuntu25CentOSStream10centos100centos10.linux.studycentos100centos10OpenEuler25openeuler255openeuler25.linux.studyopeneuler255openeuler25Windows10windows10win10.linux.studywin10win1018.1.3Samba服务器的配置1.继承的概念1.什么是异常Samba的配置文件Samba服务器的配置目录为/etc/samba/,配置文件为/etc/samba/smb.conf。在Samba安装后,就有可以默认使用的样本配置文件。/etc/samba/smb.conf文件中的空行、以“#”或“;”开始的行为注释行,用户可通过阅读该配置文件的内容或通过命令“mansmb.conf”,了解其中的配置项及其意义。18.1.3Samba服务器的配置1.继承的概念1.什么是异常Samba的配置文件/etc/samba/smb.conf配置文件的格式,类似于Windows系统的*.ini文件的格式,以节为单位。该文件被分隔成若干节,每一节都由一个被方括号括起来的标识开始(如[global]、[homes]和[printers]等)。[global]节用于全局参数设置,以控制Samba的特性或为其他节提供默认参数。除[global]节外,每个节都描述一个共享资源,节的名字就是共享资源的名字,共享资源的属性由节内的配置项来描述。18.1.3Samba服务器的配置1.继承的概念1.什么是异常Samba的配置文件名

称说

明[global]基本节或全局节,用于定义全局变量或为其他节变量提供默认值[homes]用户家目录节,用于定义每个用户家目录的共享方式[printers]共享打印机节,用于定义共享打印机[print$]用于说明打印机驱动程序的存放位置[sharename]共享节。用于自定义共享资源,sharename由用户指定,可有多个18.1.3Samba服务器的配置1.继承的概念1.什么是异常Samba的配置文件smb.conf文件中的每一有效行可以是节的名字或形如“参数=值”的对,用于定义或描述节的属性和作用。节名和参数名都不区分大小写,但是字符串参数值仍要区分大小写。参数值可以是布尔值或字符串,在含有空格符的字符串也不必用引号,如果在进行语法分析时发现引号,将被忽略;当参数值含有多项时,用空格符作为分隔符;当参数为布尔型时,它的值可以是yes/no或true/false。在参数的值中还可以使用变量。Samba提供了一组固定的变量,都以“%”作为前缀,在执行过程中用其值代替。18.1.3Samba服务器的配置1.继承的概念1.什么是异常Samba的配置文件变

量说

明变

量说

明%u当前服务的用户名%U当前会话的用户名%g%u所表示用户的组名%G%U所表示用户的组名%S当前服务名%vSamba版本%H%u的宿主目录%hSamba服务器主机名%i被客户端连接的本地IP地址%I客户机的IP地址%j/%J%i/%J中的“.”用“-”替换的结果%a远程主机的体系结构或操作系统类型%m客户机的NetBIOS名%M客户端的internet主机名%p当前服务的根目录路径%P当前服务的根目录%tyyyymmdd_HHMMSS格式时间%T当前日期和时间%d当前服务进程的PID%D当前用户的域名或工作组%NNIS服务器名称%L服务器的NetBIOS名18.1.3Samba服务器的配置1.继承的概念1.什么是异常Samba服务器的常见配置1)基本节基本节[global]用于定义全局变量或为其他节变量提供默认值。(1)基本配置项workgroup=WORKGROUP:工作组名称。Ubuntu默认WORKGROUP。建议设置相同。serverstring=SambaServerVersion%v:服务器描述字符串。passdbbackend=tdbsam:指定密码文件。interfaces=loeth0/24/24:网络接口。18.1.3Samba服务器的配置1.继承的概念1.什么是异常Samba服务器的常见配置(2)日志配置项。

loglevel=LEVEL:日志级别。默认值为0,提高级别可以记录更多信息。

logfile=/var/log/samba/log.%m:日志文件存放位置及名称。(3)安全配置项。

security=type:定义服务器如何对客户端用户进行身份认证。认证方式有user、share、server和domain。share和server已过时,且在较新版本中domain已被ads取代。user为用户模式,认证时需要用户名和密码;domain或ads为活动目录模式,多用于企业环境。18.1.3Samba服务器的配置1.继承的概念1.什么是异常Samba服务器的常见配置

maptoguest=VALUE:VALUE可取值有Never(默认)、BadUser、BadPassword和BadUid。Never表示拒绝密码不正确的用户;BadUser表示拒绝密码不正确的用户,但若用户不存在,则视为guest;BadPassword表示将密码不正确的用户视为guest;BadUid表示非有效的系统用户登录成功后,映射为guest(仅用于domain或ads模式)。

UNIXpasswordsync=yes/no:UNIX密码同步。如果此配置项打开,则在SMB密码被修改时,Samba尝试同步更新用户的Linux用户密码,默认值为no。

guestok=yes|no:是否启用guest用户,默认值为no。是否启用guest用户需视具体共享情况而定。18.1.3Samba服务器的配置1.继承的概念1.什么是异常Samba服务器的常见配置

guestaccount=nobody:设置用户账号,默认值为nobody。当guestok=yes时,可用此账号无密码访问服务器。

hostsallow=hosts:被允许的主机,其值为由逗号或白空格分隔的主机或网络,默认任何主机均可访问。

hostsdeny=hosts:被拒绝的主机,格式同hostsallow,默认不拒绝任何主机。(4)打印机选项。

printcapname=/etc/printcap:设置printcap文件路径。

loadprinters=yes|no:设置是否自动加载打印机。

printing=cups:设置打印机系统类型。18.1.3Samba服务器的配置1.继承的概念1.什么是异常Samba服务器的常见配置

2)共享节(1)共享节的一般结构。在[global]节中设置的选项是具有全局性的,这些设置后的选项可在共享节中被重新设置,但只对本节有效。要定义共享节,首先要为共享节定义一个名字,如[printers]、[public]等,名字可以根据需要自行设定。共享节的通用格式为:[sharename];

节名comment=Remark;

注释,用于描述共享目录的字符串path=PATH;

路径,用于指定共享目录的路径名guestaccount=user;

guest账户,用于指定用户账号,一般为nobodyguestok=yes|no;

是否启用guest用户(不需要密码就可以访问该共享资源)readonly=yes|no;

只读或读/写,用于指定采用只读或读/写方式访问本共享hostsallow=HOSTs;

被允许的主机。HOSTs需要实例化为具体主机名或IP地址hostsdeny=HOSTs;

被拒绝的主机browseable=yes|no;

是否可以浏览18.1.3Samba服务器的配置1.继承的概念1.什么是异常Samba服务器的常见配置

以上内容不是必需的,也不是所需的全部,必要时还可根据需要再添加一些。在文件资源共享的设置中,共享目录的组应该为nobody(红帽)或nogroup(Ubuntu)。(2)设置用户的家目录共享。设置用户的家目录共享要使用[homes]节。[homes]节允许每个本地用户在其他操作系统上,通过Samba访问自己的家目录,并根据服务端的配置在自己的家目录内进行读/写操作。如果还有其他共享目录,则本地用户能同时看到它们。一个[homes]节的设置示例。[homes]comment=HomeDirectories ;设置描述串browseable=no ;不允许浏览writeable=no ;不可写validusers=%S ;所有的用户都可以访问其家目录directorymode=0775 ;目录创建权限为077518.1.3Samba服务器的配置1.继承的概念1.什么是异常共享节设置示例任务:设置一个共享节,让有效用户和匿名用户均可访问。当有效用户访问时,具有读写权限;当匿名用户访问时,只有读权限。设置此共享节,需要在global节中添加一个“maptoguest=baduser”配置项。以下内容为定义在ubuntu24的共享节,可满足此任务的要求。名为share_u24。18.1.3Samba服务器的配置1.继承的概念1.什么是异常配置文件正确性检查testparm是一个用于检查Samba配置文件smb.conf正确与否的简单程序。如果经过它的检查而没有发现配置错误,则可以确保Samba服务器能够启动,但并不能保证服务能按所期望的那样工作。testparm的用法为:testparm[-s][--help][-v][-V][conf_file]testparm[-s][--help][-v][-V]{conf_file}[hostIP]选项--help用于显示帮助信息;-s用于去除测试显示与配置信息显示间的停顿及回车提示;-v用于显示更多的信息;conf_file用于指定带有路径的配置文件,若不指定,则使用/etc/samba/smb.conf;host和IP用于指定主机和IP地址并测试指定IP地址能否访问host上的Samba。18.1.3Samba服务器的配置1.继承的概念1.什么是异常配置文件正确性检查例如:#testparm #显示配置文件/etc/samba/smb.conf中的配置#testparm-s--section-namehomes #显示[homes]节配置如果testparm的检查结果正确,则返回0,否则返回非0。18.1.3Samba服务器的配置1.继承的概念1.什么是异常添加Samba用户当采用user级的安全模式时(Security=user),需要为每个Samba的访问者指定一个Linux账号,且账号必须事先存在(比如本地可登录的root和test等均可),需要时可先创建一个。#为smbuser设置samba密码smbpasswd-asmbuser 创建共享目录

18.1.4配置共享打印机1.继承的概念1.什么是异常建立打印机服务器要使用本地打印机作为Samba共享打印机,必须首先使用打印机管理方法创建本地打印机 。建立打印服务器,需修改smb.conf或向其中添加关于打印机配置的内容。(1)设置global配置项修改smb.conf的全局配置,开启打印共享功能,如下所示:[global]loadprinters=yesprinting=cupsprintcapname=cups 18.1.4配置共享打印机1.继承的概念1.什么是异常建立打印机服务器(2)设置printers配置项[printers]comment=AllPrinterspath=/var/tmpprintable=Yescreatemask=0600browseable=No需要提醒的是,printable一定要设置成

yes。18.1.4配置共享打印机1.继承的概念1.什么是异常使用共享打印机在Unix/Linux下使用共享打印机与本地打印机方法相同,但是在使用之前要先设置打印机。18.1.5Samba共享服务的使用1.继承的概念1.什么是异常Windows客户端访问Samba共享Windows用户可通过网上邻居访问Samba服务器的共享目录。按Win+R,在弹出的运行对话框中输入“\\Samba服务器IP地址或计算机名”或“\\Samba服务器IP地址或计算机名\共享资源名”进行访问。

18.1.5Samba共享服务的使用1.继承的概念1.什么是异常Unix/Linux客户端访问Samba共享(1)smbclient命令smbclient是Samba提供的一个类似ftp命令的Samba客户程序,是一个在命令行界面下访问Samba共享的强有力工具。smbclient[-?|-h] #方式1smbclient-LsmbHost[-Usmbuser[%passwd]] #方式2smbclient//smbHost/sharename[-Usmbuser[%passwd]] #方式3smbclient-c"cmd"//smbHost/sharename[-Usmbuser[%passwd]] #方式4

18.1.5Samba共享服务的使用1.继承的概念1.什么是异常Unix/Linux客户端访问Samba共享其中,smbHost可以是主机名或IP地址;sharename为共享节名(而非共享节中指定的目录名);smbuser为用户名,passwd为用户smbuser的密码;方括号内的内容是可选的,若不提供,则在命令执行过程中,用户名默认为当前用户,密码提示用户输入。用法1用于显示帮助信息,不同版本间显示的信息有差异。用法2用于查询服务器的共享资源。例如:#smbclient-L0-Usmbuser%123456 #或使用主机名#smbclient-Lcentos10-Usmbuser%123456 #或使用主机名18.1.5Samba共享服务的使用1.继承的概念1.什么是异常Unix/Linux客户端访问Samba共享用法3用于以用户user身份和密码paaswd,访问共享资源sharename。若用户名和密码验证通过,则smbclient会进入交互方式,提示符为“smb:...\>”,用户可以在提示符下输入类似于ftp字符客户端的命令,如ls、cd、lcd、get、mget、put、mput、mkdir和rmdir等命令,还可以通过?或help获得帮助。工作结束后,通过输入命令exit或按Ctrl+D快捷键退出。用法4是用法3的简化形式。当执行的命令较少时,则不需要进入交互方式,只需把smbclient的命令放在-c的参数cmd内即可。若命令不只一条,则用分号“;”连接。当cmd内有白空格时,需要使用引号括起来。例如:#smbclient-c"ls"//0/share_c10-Usmbuser%123456 #列出目录#smbclient-c"getx.c"//centos10/share_c10-Usomeone%123456 #下载18.1.5Samba共享服务使用1.继承的概念1.什么是异常Unix/Linux客户端访问Samba共享(2)使用mount命令安装Samba共享目录访问Samba共享资源一种有效的方法是将samba的共享目录安装到本地,作为本地文件系统的一部分。使用mount命令安装Samba文件系统的方法为:mount-tcifs//smbHost/sharenamemount_point这里的cifs为Samba文件系统的类型。 18.1.5Samba共享服务使用1.继承的概念1.什么是异常Unix/Linux客户端访问Samba共享设在centos10主机上有一个名字为share_c10的共享文件夹。在Linux系统中,将其安装在/mnt/smb/并使用它的大致过程:#mkdir-p/mnt/smb #创建安装点。若已有则不需要再创建#mount-tcifs//centos10/share_c10/mnt/smb #安装到本地#ls/mnt/smb #列目录#cp/mnt/smb/*/tmp #将其中的所有文件复制到系统临时目录#umount/mnt/smb #使用完毕后,卸载之18.1.5Samba共享服务使用1.继承的概念1.什么是异常Unix/Linux客户端访问Samba共享(3)图形界面客户端在GNome桌面依次选择“Files(文件)”→“OtherLocation”→“计算机名”→“共享资源”。传统桌面依次选择“Places(位置)”→“[Browse]Network”→“计算机名”→“共享资源”。或在上述操作后的界面中,点击“OtherLocation”后,在界面右下边“ConnecttoServer”栏内输入共享资源地址,比如smb://0或smb://centos10。18.1.5Samba共享服务使用1.继承的概念1.什么是异常Unix/Linux客户端访问Samba共享18.1.5Samba共享服务使用1.继承的概念1.什么是异常Unix/Linux客户端访问Samba共享(4)检查Samba的共享状态命令smbstatus可用来检查服务器上samba共享资源的状态。用法:smbstatus[-b][-d<level>][-v][-L][-p][-S][-u<user>]#smbstatus-b #简要显示Samba资源的使用情况18.1.6Samba与防火墙和SELinux的关系1.继承的概念1.什么是异常防火墙设置防火墙要允许Samba服务所使用的端口或服务通过。1)firewalld#firewall-cmd--permanent--add-servicesamba #开放samba#firewall-cmd--permanent--add-servicesamba-client #开放samba-client#firewall-cmd--reload;firewall-cmd--list-service #重载防火墙规则;查看已开放的服务2)ufw#ufwallowsamba #开放samba#ufwstatus #检查已开放的服务18.1.6Samba与防火墙和SELinux的关系1.继承的概念1.什么是异常SELinux1)布尔变量通过命令#getsebool-a|grep-E'(smb)|(samba)|(cifs)'得到全部与Samba相关的SELinux布尔变量,布

量意

义samba_create_home_dirs允许Samba独立创建家目录samba_domain_controller允许Samba作为域控制器,并赋予执行useradd、groupadd和passwd等的权限samba_enable_home_dirs允许共享用户的家目录samba_export_all_ro允许目录或文件只读共享samba_export_all_rw允许目录或文件读写共享samba_run_unconfined允许执行非限定性脚本samba_share_nfs允许共享nfs卷smbd_anon_write允许smbd写有public_content_rw_t属性的公共目录18.1.6Samba与防火墙和SELinux的关系1.继承的概念1.什么是异常SELinux在默认情况下,这些布尔变量均是未开放的,用户可以根据需要开放它们中的一些,以便Samba服务器与客户端都能工作。比如:#setsebool-Psamba_enable_home_dirs1#setsebool-Psamba_run_unconfined1#setsebool-Psamba_export_all_rw1#setsebool-Psamba_export_all_ro12)类型标签与Samba共享相关的SELinux类型标签有samba_share_t,用于设置不在标准位置的共享文件类型。例如:#chcon-R-tsamba_share_t/var/smb_share_f42/ #fedora42#chcon-R-tsamba_share_t/var/smb_share_c10/ #centos10NFS服务器18.218.2.1NFS介绍NFS的概念NFS由Sun公司开发,目前已经成为文件服务的一种标准。其最大的功能是可以通过网络构成分布式文件系统,实现文件共享。NFS只用于UNIX、Linux及类UNIX间的文件共享。基于NFS,当用户需要使用远程文件时,可使用“mount”命令把远程文件系统挂载到本地文件系统的某个目录下,作为本地系统的一部分来使用。NFS有属于自己的协议和端口号,但在传送资料或者其他相关信息时,NFS服务器使用RPC协议来协助自己运行。18.2.1NFS介绍RPC的概念RPC(RemoteProcedureCall)是远程过程调用协议。RPC采用客户机/服务器模式。客户端发送一个有关进程参数等的调用信息到服务进程,然后等待应答信息。服务端收到一个调用信息后,获得进程参数并开始计算,然后将结果发送给客户端。因为NFS支持很多功能,每当启动一个功能就要启用一些端口来传输数据,因此,NFS的功能所对应的端口是不固定的,通常随机取用一些未被使用的小于1024的端口作为传输使用,而客户端必须知道服务器的相关端口才能连接,此时就需要使用RPC服务。RPC的功能是制定每个NFS功能对应的端口,并且回送给客户端,让客户端连接到正确的端口上。当NFS服务器启动时会随机启用数个端口,并主动向RPC注册,这样RPC就知道每个端口对应的功能了,然后RPC固定使用111号端口来监听客户机的请求并回应正确的端口。18.2.1NFS介绍RPC的概念因此,在启动NFS之前,要先启动RPC,否则NFS无法向RPC注册。另外,重启RPC时,原本注册的数据会丢失,因此RPC重启后,它管理的所有程序都需要重启以重新向RPC注册。rpcinfo命令用于显示系统的RPC信息,一般使用-p选项列出某台主机的RPC服务。用rpcinfo-p命令检查服务器时,应该能看到portmapper、status、mountd、nfs和nlockmgr服务。而用rpcinfo-p命令检查客户端时,应该至少能看到portmapper服务。18.2.1NFS介绍NFS的工作原理NFS是一种能使服务器上的信息被其他计算机挂载而达到资源共享的网络文件系统。一台客户机可以从服务器上挂载一个目录到本地文件系统作为本地文件系统的一部分使用。只有服务器所共享的文件或目录,NFS客户机才能共享。NFS服务所能共享的目录都记录在/etc/exports配置文件中。当NFS服务器启动时,会自动启动exportfs程序,搜索/etc/exports文件,并且给所有共享的文件或目录赋予正确的权限。18.2.1NFS介绍NFS的工作原理(1)rpc.nfsd:基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器。(2)rpc.mountd:RPC安装守护进程,主要功能是实施NFS协议、管理实施NFS文件系统,输出NFS文件系统和管理[/var/lib/nfs/]rmtab文件。当收到客户端挂载请求时,它会检查NFS共享文件列表及对应的访问控制权限。当访问者有权限访问时,为其提供服务。除此之外,还有rpcbind守护进程,其主要功能是进行端口映射。当客户端尝试连接并使用RPC服务器提供的服务(如NFS)时,它会将所管理的与服务对应的端口提供给客户端,从而使客户机可以通过该端口向服务器请求服务。NFS的端口是2049,但是它基于rpcbind(端口111)的。18.2.2NFS文件系统配置软件安装红帽和Ubuntu所使用的NFS软件包分别为nfs-utils和nfs-kernel-server,当然它们都需要其他包的支持,如rpcbind等,这些支持包会在NFS软件包安装时被自动安装。#yuminstallnfs-utils-y #红帽#aptinstallnfs-kernel-server-y #Ubuntu 18.2.2NFS文件系统配置服务管理NFS的服务为nfs-server.service,可以使用服务管理的办法管理它的启动。#systemctlenablenfs-server;systemctlstartnfs-server #启用;启动#systemctlstatusnfs-server #(需要时)检查状态#systemctlreloadnfs-server #(修改配置后)重载#systemctldisable/stop/restartnfs-server #(其他)禁用/停止/重启/

18.2.2NFS文件系统配置NFS服务器端的配置NFS的主配置文件为/etc/exports。配置文件/etc/exports是一个文本文件,由“#”引导的行为注释行,空行无效。每一有效行描述一个共享目录,并且说明该目录如何被共享。每一有效行的格式如下:共享目录

访问者(选项)[,访问者(选项)…]“共享目录”与“访问者”间用空格分隔,“访问者”为主机或IP地址,“访问者”与“(选项)”间无分隔符,选项若不止一个则用逗号分隔。

18.2.2NFS文件系统配置NFS服务器端的配置访问者的格式可以是:(1)指定IP地址的主机,如0。(2)指定网段中的所有主机,如/24,/。(3)单台主机名,如centos10。(4)含有通配符的主机名,如fedora*.linux.study,表示.linux.study域的所有以fedora开头的主机。

18.2.2NFS文件系统配置exports配置示例对NFS共享资源的配置,主要是通过exports文件来实现的,用户可以直接修改主配置文件/etc/exports或在/etc/exports.d下创建*.exports型子配置文件。示例1:/var/nfs_sharefedora42(rw)ubuntu25(rw,no_root_squash)该行表示共享服务器上的/var/nfs_share目录,只有fedora42和ubuntu25两台主机可以访问,并且两台主机对该共享目录都有读/写权限;fedora42主机在用root用户该共享目录时,将客户机的root用户映射成服务器上的匿名用户(默认为root_squash),相当于在服务器上使用匿名用户(nfsnobody)访问该目录;ubuntu25主机在用root用户访问该共享目录时,不映射root用户(no_root_squash),相当于在服务器上用root用户身份访问该共享目录。18.2.2NFS文件系统配置exports配置示例示例2:/projects*.linux.study(rw)该行表示共享目录为/projects,.linux.study域中的所有主机都可以访问该目录,并且都有读/写权限;客户机上的任何用户在访问时都被映射成匿名用户(没有指定no_all_squash,默认为all_squash)。这里的.linux.study域可以认为是虚设的,也可以理解为的真实域。示例3:/var/nfs_share/(rw,all_squash)/24(ro)该行表示共享目录为/var/nfs_share,/24网段中的所有主机都可以访问该目录,且对该目录有读/写权限;/24网段中的所有主机对该目录有只读权限,在访问时所有的用户都被映射成匿名用户。18.2.2NFS文件系统配置配置NFS客户端NFS客户端需要软件包cifs-utils的支持,使用前需要先安装,安装命令为:#dnfinstallcifs-utils-y #红帽#aptinstallcifs-utils-y #Ubuntu客户端对NFS的使用,表现在使用mount命令将服务器上的共享目录安装到本地作为本地系统的一部分使用,使用方法如下:#mount-tnfs[options]server:dirmount_point其意义是将server服务器上的dir目录安装到本地的mount_point目录上,文件系统类型为nfs。例如:#mount-tnfs-rcentos10:/var/nfs_share/mnt/nfs将centos10上的/var/nfs_share目录以只读方式安装到本地的/mnt/nfs目录上。18.2.3NFS系统的使用示例某单位需要在网络上共享一个文件夹/var/nfs_share,让所有人都只有只读权限,且只有/24子网的用户可以访问,试通过NFS共享该文件夹。设NFS服务器为centos10,IP地址为0。(1)建立共享目录并设置权限以root身份登录,检查/var/nfs_share是否存在,若不存在则创建,方法是:#mkdir-p/var/nfs_share #创建目录#cp/etc/exports/etc/host*/var/nfs_share #向其中添加一些用于共享的文件#chown-Rnobody:nobody/var/nfs_share #设置主、组(红帽)#chown-Rnobody:nogroup/var/nfs_share #设置主、组(ubuntu)#chmod-Rg+w/var/nfs_share #设置权限18.2.3NFS系统的使用示例(2)编辑/etc/exports文件。在/etc/exports文件中加入如下三行中的一行(前两行为读/写方式,最后一行为只读方式):/var/share_nfs/24(rw,all_squash) #以读/写方式共享,或/var/share_nfs*.linux.study(rw,all_squash) #以读/写方式共享/var/nfs_share/24(ro,all_squash) #以只读方式共享(3)重载NFS服务。#systemctlreloadnfs-server(4)防火墙设置。#firewall-cmd--permanent--add-servicenfs;firewall-cmd--reload #firewalld防火墙#ufwallownfs #ufw防火墙(启用时)18.2.3NFS系统的使用示例(5)安装NFS文件系统。在/24子网上的任意一台其他主机上,将共享目录安装到本机的/mnt/nfs目录上:#mkdir-p/mnt/nfs#mount-tnfs0:/var/nfs_share/mnt/nfs #IP地址方式,或#mount-tnfscentos10:/var/nfs_share/mnt/nfs #主机名方式,或#mount-tnfscentos10.linux.study:/var/nfs_share/mnt/nfs#主机名方式(6)测试权限。可通过命令ls-l查看/mnt/nfs目录中的内容:#ls-l/mnt/nfs #查看共享目录中的内容18.2.3NFS系统的使用示例当执行命令“mkdir/mnt/nfs/test”,在其中创建目录test时,在只读共享方式下,将得到以下错误提示:mkdir:cannotcreatedirectory`/mnt/nfs/test':Permissiondenied(Read-onlyfilesystem)这是因为在步骤(2)的配置中使用了ro且有all_squash,任何用户对该目录的共享都只有读权限,且用户被映射成nfsnobody。而当使用读/写方式共享时,将会创建成功。(7)卸载。NFS文件系统的卸载与普通文件的卸载方法相同:umount/mnt/nfs18.2.3NFS系统的使用NFS系统常用命令(1)exportfs命令exportfs命令使NFS服务器重新读取/etc/exports文件中的设置。该命令可以在改变exports文件配置之后使之立即生效,而不需要重新启动NFS服务器,相当于重载服务器。命令用法如下。exportfs[-airvfsu][-ooptions][client:/path…]18.2.3NFS系统的使用NFS系统常用命令(2)showmount命令在正确设置了NFS共享目录并正确启动NFS服务器后,可以使用showmount命令查询NFS的共享状态。命令用法如下。showmount[-adehv][--all][--dirs][--exports][--help][--version][host]18.2.4NFS的其他功能NFS自动挂载和自动卸载在使用NFS进行文件共享时,需要先完成共享目录的挂载操作。挂载成功后,客户端与服务端需保持持续的网络连通性;若任意一方出现离线情况,那么另一方都会因连接中断而触发请求超时等待。那么,有没有一种方法能让用户在使用NFS时实现自动挂载,不使用时自动卸载?答案是:有。可以使用autofs服务,它使用automount守护进程来管理挂载点,使得文件系统只在被访问时才被动态地安装,当一段时间不使用时,又会被自动卸载。autofs使用主配置文件/etc/auto.master来决定定义哪些挂载点,然后,它使用适用于各个挂载点的参数来启动automount守护进程。18.2.4NFS的其他功能NFS自动挂载和自动卸载Linux的autofs软件包为autofs,若使用前需要安装它。#dnfinstallautofs-y #红帽#aptinstallautofs-y #Ubuntu18.2.4NFS的其他功能NFS自动挂载和自动卸载autofs的主配置文件/etc/auto.master中的每一个有效行定义一个安装点,其结构为:mount_pointmap_file[options]其中,mount_point为安装点,map_file为本安装点对应的配置文件,options是可选的,这里不使用它。在autofs软件包安装时,也同时安装了样本配置文件/etc/auto.master和/etc/auto.misc。例如:/misc/etc/auto.misc就是样本配置文件中的一行,其功能为定义一个安装点/misc,安装方法在/etc/auto.misc中描述。用户也可以在其中自定义一行内容,用来自动安装NFS文件系统。为了描述方便,我们把安装方法描述文件/etc/auto.misc称为自动安装映射文件。18.2.4NFS的其他功能NFS自动挂载和自动卸载#Thisisanautomountermapandithasthefollowingformat#key[-mount-options-separated-by-comma]location#Detailsmaybefoundintheautofs(5)manpagecd-fstype=iso9660,ro,nosuid,nodev:/dev/cdrom#thefollowingentriesaresamplestopiqueyourimagination#linux-ro,soft,intr:/pub/linux#floppy-fstype=auto:/dev/fd0#e2floppy-fstype=ext2:/dev/fd0其示范性地描述了文件系统及其位置。针对NFS文件系统自动安装问题,只要在此文件的尾部增加如下一行:nfs-fstype=nfs,rw ubuntu25:/var/nfs_share就可将ubun

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论