在Linux基金会认证工程师( 联邦经济竞争法 )被训练在Linux系统设置,配置,管理和解决网络服务,并对此负责设计和实施的系统架构和解决日常生活相关的问题。
Linux基础认证工程师 - 第2部分
Linux基础认证计划(LFCE)简介。
在本系列的第1部分中,我们说明了如何安装NFS(网络文件系统)服务器,并将服务设置为在引导时自动启动。 如果您还没有这样做,请参阅该文章,并按照概述的步骤,然后继续。
现在我将告诉你如何正确配置NFSv4服务器(无身份验证安全性),这样你可以设置网络共享中的Linux客户端使用,如果这些文件系统进行本地安装。 请注意,您可以使用LDAP或NIS进行身份验证,但这两个选项都超出了LFCE认证的范围。
配置NFSv4服务器
一旦NFS服务器启动并运行,我们将关注:
- 指定和配置我们要通过网络共享的本地目录,以及
- 自动安装在客户端的网络共享,或者通过/ etc / fstab文件或基于内核的自动挂载实用程序(autofs的)。
我们将在后面解释什么时候选择一种方法或其他方法。
我们虽之前,我们需要确保的idmapd守护进程正在运行和配置。 该服务提供的NFSv4名称映射( 用户@ MYDOMAIN),以用户和组ID,并要求实施NFSv4服务器。
编辑/ etc / default / nfs中常见启用idmapd。
NEED_IDMAPD=YES
和编辑/etc/idmapd.conf您的本地域名(默认为主机的FQDN)。
Domain = yourdomain.com
然后启动idmapd。
# service nfs-common start [sysvinit / upstart based systems] # systemctl start nfs-common [systemd based systems]
导出网络共享
在/ etc / exports文件包含我们的NFS服务器主要配置指令,定义将被导出到远程主机文件系统,并指定可用的选项。 在此文件中,每个网络共享使用单独的行来指示,默认情况下具有以下结构:
/filesystem/to/export client1([options]) clientN([options])
凡/文件系统/为/ export是绝对路径导出的文件系统,而客户端1(最高clientN)代表特定的客户端(主机名或IP地址)或网络(允许使用通配符),以该份额正被出口。 最后,options是分别导出共享时考虑的逗号分隔值(选项)的列表。 请注意,每个主机名和其前面的括号之间没有空格。
这里是最常见的选项及其相应描述的列表:
- RO(简称只读):远程客户端可以安装具有只读权限导出的文件系统。
- RW(简称读写):允许远程主机尽在导出的文件系统写的变化。
- wdelay(简称写入延迟):NFS服务器延迟提交更改到磁盘,如果怀疑另一个相关的写请求已迫在眉睫。 但是,如果NFS服务器收到多个小无关请求,此选项会降低性能,所以no_wdelay选项可用于将其关闭。
- 同步 :NFS服务器回复的修改已经提交到永久存储(即硬盘)后,才请求。 它的对面,async选项,可以提高性能,但在数据丢失或损坏的不洁服务器重新启动后的成本。
- root_squash:从服务器具有超级用户权限,防止远程root用户,并指定他们为用户nobody的用户ID。 如果你想“ 南瓜 ”的所有用户(不只是根),您可以使用all_squash会将选项。
- anonuid / anongid:显式设置匿名帐户(一个人)的UID和GID。
- subtree_check:如果只有一个文件系统的一个子目录被导出,此选项验证请求的文件位于导出的子目录中。 在另一方面,如果整个文件系统被导出,禁用此选项与no_subtree_check将加快转移。 默认选项时下no_subtree_check作为子树检查往往会造成更多的问题比它的价值,根据人的5出口。
- FSID = 0 | 根 (零或根):指定指定的文件系统是多个导出目录的根目录下(仅适用于NFSv4的)。
在这篇文章中,我们将使用目录/ NFS共享和/ NFS-SHARE / MYDIR上192.168.0.10(NFS服务器)作为我们的测试文件系统。
我们可以使用以下命令总是在NFS服务器中列出可用的网络共享:
# showmount -e [IP or hostname]
检查NFS共享
在上面的输出中,我们可以看到/ NFS共享和/ NFS-SHARE / MYDIR股192.168.0.10已出口到客户端的IP地址为192.168.0.17。
我们对出口目录的初始配置(请参阅您的NFS服务器上的/ etc / exports的目录)如下:
/NFS-SHARE 192.168.0.17(fsid=0,no_subtree_check,rw,root_squash,sync,anonuid=1000,anongid=1000) /NFS-SHARE/mydir 192.168.0.17(ro,sync,no_subtree_check)
编辑配置文件后,我们必须重新启动NFS服务:
# service nfs-kernel-server restart [sysvinit / upstart based system] # systemctl restart nfs-server [systemd based systems]
使用autofs安装导出的网络共享
您可能希望参考LFCS系列(“5部分 如何挂载/卸载本地和网络(Samba和NFS)文件系统在Linux中 ”)的详细信息,远程NFS共享的按需使用mount命令或永久通过安装/ etc / fstab文件。
使用这些方法安装网络文件系统的缺点是,系统必须分配必要的资源以保持共享安装在任何时候,或至少直到我们决定手动卸载它们。 另一种方法是自动安装点播所需的文件系统(不使用mount命令)通过autofs的 ,它可以挂载文件系统时使用它们和闲置一段时间后卸载它们。
Autofs的读取/etc/auto.master文件 ,其格式如下:
[mount point] [map file]
其中[图文件]用来指示在多个安装点[挂载点]。
然后,该主图文件(/etc/auto.master文件 )被用来确定哪些挂载点被定义,然后为每个指定的参数启动automount进程挂载点。
使用autofs安装导出的NFS共享
编辑您的/etc/auto.master文件 ,如下所示:
/media/nfs /etc/auto.nfs-share --timeout=60
并创建一个名为/etc/auto.nfs-share包含以下内容映射文件:
writeable_share -fstype=nfs4 192.168.0.10:/ non_writeable_share -fstype=nfs4 192.168.0.10:/mydir
请注意,在/etc/auto.nfs-share第一个字段是一个子目录中/媒体/ NFS的名称。 每个子目录由autofs动态创建。
现在,重新启动autofs服务:
# service autofs restart [sysvinit / upstart based systems] # systemctl restart autofs [systemd based systems]
最后,使autofs,从而开始启动,运行以下命令:
# chkconfig --level 345 autofs on # systemctl enable autofs [systemd based systems]
在启动autofs守护程序后检查装入的文件系统
当我们重新启动autofs的 ,mount命令向我们展示了地图文件(/etc/auto.nfs-share)被安装在/etc/auto.master文件指定的目录:
已挂载NFS共享
请注意,没有目录实际上已经安装呢,可是当我们尝试访问/etc/auto.nfs-share指定的股票将自动:
自动挂载NFS共享
正如我们所看到的,autofs服务“ 坐骑 ”的地图文件,可以这么说,而是等待,直到请求发送到文件系统进行真正安装它们。
在导出的文件系统中执行写入测试
该anonuid和anongid选项,并在第一的份额设置root_squash一起,让我们来映射root用户在客户端服务器执行的本地帐户的请求。
换句话说,当客户端中的root用户在导出的目录中创建一个文件时,其所有权将自动映射到UID和GID = 1000的用户帐户,前提是此类帐户存在于服务器上:
执行NFS写入测试
结论
我希望您能够使用本文作为指南成功设置和配置适合您的环境的NFS服务器。 您可能还需要参考相关的手册页以获得更多帮助( 男出口和人idmapd.conf,例如)。
随时可以尝试其他选项和测试用例,如前所述,并且毫不犹豫地使用下面的表单发送您的意见,建议或问题。 我们很高兴听到你的来信。