主机可以是Linux,了解Samba与NFS服务程序的开发背

作者: 操作系统  发布:2019-11-07

实验环境

主机 操作系统 IP地址
NFS服务器 RHEL7.4 192.168.56.15
NFS客户端 CentOS7.4 192.168.56.5

学会后即可实现Linux系统之间或与Windows系统之间的文件共享,以及在共享文件时如何配置防火墙与SELinux策略规则。

一、Samba服务

1.什么是Samba

简单来讲,Samba就是在Linux系统下的一种文件共享服务,主机可以是Linux,客户端可以是windows也可以是Linux,主机在设置好共享目录之后,客户端可以在共享目录里进行读写操作。

2.部署Samba

(1)安装samba

yum install samba -y

(2)修改配置文件 /etc/samba/smb.conf

图片 1

图一 相关参数

图片 2

图二 相关参数

写入共享目录信息:

图片 3

图片 4

图三 相关参数

(3)创建用于访问共享资源的账户信息

pdbedit命令用于管理SMB服务程序的账户信息数据库,格式为:pdbedit [选项] 账户,这里的账户必须在系统中存在。以下是pdbedit命令参数:

图片 5

图四 pdbedit参数

pdbedit -a -u tianchao //将账户tianchao加入Samba账户信息库

图片 6

图五 添加账户信息并设置密码

(4)创建用于共享文件的目录/home/database,在这里需要考虑到读写权限

所以应该把该文件夹的所属组和所属用户改为tianchao

chown -Rf tianchao:tianchao /home/database

关闭SELinux

setenforce 0

(5)用同一个局域网下的windows系统进行连接

图片 7

图一 链接

图片 8

图二 登陆成功

3.Linux访问文件共享服务

客户端安装cifs-utils软件包,然后保证和服务器能够ping通

服务器端开启smaba服务

mount -t cifs -o username=用户名,password=密码 \服务器IP共享目录名称 挂载目录

例:mount -t cifs -o username=tianchao,password=tianchao //192.168.0.110/database /media/database/

chkconfig nfs on
chkconfig rpcbind on
service nfs start
service rpcbind start

NFS网络文件系统

如果大家觉得Samba服务程序的配置太麻烦了,那么你共享文件的主机都是Linux系统,那么推荐大家在客户端部署nfs服务来共享文件.nfs(网络文件系统)服务可以将远程Linux系统上的文件共享资源挂载到本地主机的目录上,从而使得本地主机客户端基于TCP/IP协议,像是用本地主机上的资源那样读写远程Linux系统上的共享文件.

12.2.2 安全共享文件

使用Samba服务口令验证方式可以让共享文件更加的安全,做到仅让信任的用户访问,而且验证过程也很简单,要想使用口令验证模式,我们需要先需要创建Samba服务独立的数据库。

第1步:检查当前是否为user验证模式。

[root@linuxprobe ~]# cat /etc/samba/smb.conf

图片 9

 

第2步:创建共享文件夹:

[root@linuxprobe ~]# mkdir /database

第3步:描述共享文件夹信息。

SMB服务主配置文件的最下面追加共享文件夹的配置参数:

[database]
comment = Do not arbitrarily modify the database file
path = /database
public = no
writable = yes

保存smb.conf文件后重启启动SMB服务:

[root@linuxprobe ~]# systemctl restart smb

添加到开机启动项:

[root@linuxprobe ~]# systemctl enable smb
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'

第4步:使用Windows主机尝试访问

读者按照下表的IP地址规划动手配置下Windows的网卡参数,应该都会吧~

编辑
主机名称 操作系统 IP地址
Samba共享服务器 红帽RHEL7操作系统 192.168.10.10
客户端 红帽RHEL7操作系统 192.168.10.20
客户端 微软Windows7操作系统 192.168.10.30

图片 10

在Windows主机的运行框中输入远程主机的信息
图片 11

此时访问Samba服务报错

此时访问Samba服务是报错的,如果读者已经看完Apache(httpd)服务程序的章节,应该还记得防火墙和SELinux规则吧。

第5步:清空防火墙规则链:

Windows访问Samba主机提示报错,我们怀疑是Iptables阻止了访问操作,于是执行:

[root@linuxprobe ~]# Iptables -F
[root@linuxprobe ~]# service iptables save

因为Windows系统的缓存关系,可能需要先重启Windows主机再尝试访问Samba共享。

图片 12

Windows系统被要求验证帐户口令

那么这个问题就是出在Iptables防火墙的默认规则中了,所以请对SELinux多一点耐心,不要直接关闭SELinux。

第6步:创建SMB服务独立的帐号。

现在Windows系统要求先验证后才能访问共享,而SMB服务配置文件中密码数据库后台类型为"tdbsam",所以这个帐户和口令是Samba服务的独立帐号信息,我们需要使用pdbedit命令来创建SMB服务的用户数据库。

pdbedit命令用于管理SMB服务的帐户信息数据库,格式为:“pdbedit [选项] 帐户”。

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

创建系统用户:

[root@linuxprobe ~]# useradd smbuser

将此系统用户提升为SMB用户:

[root@linuxprobe ~]# pdbedit -a -u smbuser
new password:设置SMB服务独立的密码
retype new password:
Unix username: smbuser
NT username:
Account Flags: [U ]
User SID: S-1-5-21-4146456071-3435711857-2069708454-1000
Primary Group SID: S-1-5-21-4146456071-3435711857-2069708454-513
Full Name:
Home Directory: \linuxprobesmbuser
HomeDir Drive:
Logon Script:
Profile Path: \linuxprobesmbuserprofile
Domain: LINUXPROBE
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: Sat, 11 Jul 2015 18:27:04 CST
Password can change: Sat, 11 Jul 2015 18:27:04 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

第7步:使用Windows主机验证共享结果:

请您按照下面的幻灯片逐步操作,可点击图片两侧箭头或下方小圆点“○”切换步骤。

  • 图片 13 Windows验证SMB服务口令

  • 图片 14 Windows成功访问SMB服务

  • 图片 15 Windows进入共享目录失败

第8步:允许SELinux规则

使用Windows主机访问Samba共享果然可以使用smbuser用户登入,但对于共享文件这么重要的事情,SELinux一定会强制管理,刚刚没有妥当的配置好SELinux,现在果然又报错了。

将共享目录的所有者和所有组设置为smbuser用户:

[root@linuxprobe ~]# chown -Rf smbuser:smbuser /database

允许SELinux对于SMB用户共享家目录的布尔值:

[root@linuxprobe ~]# setsebool -P samba_enable_home_dirs on

将共享目录的SELinux安全上下文设置妥当:

[root@linuxprobe ~]# semanage fcontext -a -t samba_share_t /database

使新的安全上下文立即生效:

[root@linuxprobe ~]# restorecon -Rv /database/

第9步:使用Windows主机验证共享结果

我们配置好Samba服务后又陆续的调整好了Iptables防火墙与SELinux安全规则,现在终于可以正常的使用共享了。

图片 16

使用SMB服务并创建文件

第10步:使用Linux主机验证共享结果

刚刚好像让读者产生了一些小误解,Samba服务程序并不仅仅是能够实现Linux与Windows系统间的文件共享,还可以实现Linux系统之间的文件共享哦,先动手配置下客户端主机的IP地址吧:

编辑
主机名称 操作系统 IP地址
Samba共享服务器 红帽RHEL7操作系统 192.168.10.10
客户端 红帽RHEL7操作系统 192.168.10.20
客户端 微软Windows7操作系统 192.168.10.30

在客户端安装cifs-utils软件包:

[root@linuxprobe ~]# yum install -y cifs-utils
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
 cifs-utils          x86_64          6.2-6.el7             rhel7           83 k
………………省略部分安装过程………………
Complete!

创建挂载目录:

[root@linuxprobe ~]# mkdir /database

在root家目录创建认证文件(依次为SMB用户名、SMB用户密码、SMB共享域):

[root@linuxprobe ~]# vim auth.smb
username=smbuser
password=redhat
domain=MYGROUP

此文件太重要了,权限应该给小一些:

[root@linuxprobe ~]# chmod -Rf 600 auth.smb

配置其挂载信息(内容依次为远程共享信息、本地挂载目录、文件系统类型、认证文件以及开机自检选项):

[root@linuxprobe ~]# vim /etc/fstab
//192.168.10.10/database /database cifs credentials=/root/auth.smb 0 0

使用mount命令的-a参数挂载所有在fstab文件中定义的文件信息:

[root@linuxprobe ~]# mount -a

成功挂载Samba的共享目录(能够看到共享文件了):

[root@linuxprobe ~]# cat /database/Memo.txt
i can edit it .

Samba服务真的是太强大了,不仅能够实现Linux系统之间分享数据还能与Windows主机进行文件共享。

出现问题?大胆提问!

因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~

Linux技术交流请加A群:560843( style="color: #008000;">满),B群:340829( style="color: #008000;">推荐),C群:463590( style="color: #008000;">推荐),点此查看全国群。

*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。

二、NFS(网络文件系统)

1.什么是NFS

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

安装NFS

yum install -y nfs-utils

Centos 7 默认安装,如果是以前版本需要安装

2.部署NFS

(1)建立共享目录/home/share,并把权限全部开放

mkdir /home/share

chmod -R 777 /home/share

(2)修改配置文件/etc/exports

图片 17

图一 所用到的参数

配置文件格式:共享目录 允许共享的网段(权限)

图片 18

图二 配置文件

(3)重启相关服务

图片 19

图三 重启服务

重启以下服务

rpcbind

nfs-server

systemctl restart rpcbind

systemctl start nfs-server

(4)客户端部署NFS

showmount命令可以查询NFS服务器共享目录及网段,相关参数如下所示:

图片 20

图四 相关参数

showmount -e NFS服务器地址

图片 21

图五 查看信息

mount -t nfs 192.168.0.110:/home/share  /media/nfs

图片 22

图六 挂载nfs

 

前期准备这里我把防火墙以及selinux都给关闭了.

1 安装 NFS-Server 使用 yum install nfs-utils rpcbind -y 命令.

[root@qdlinux ~]# yum install -y nfs-utils rpcbind
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
dvd                                                                                       | 4.1 kB  00:00:00     
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils.x86_64 1:1.3.0-0.48.el7 will be installed
--> Processing Dependency: gssproxy >= 0.7.0-3 for package: 1:nfs-utils-1.3.0-0.48.el7.x86_64
--> Processing Dependency: libtirpc >= 0.2.4-0.7 for package: 1:nfs-utils-1.3.0-0.48.el7.x86_64
--> Processing Dependency: libevent for package: 1:nfs-utils-1.3.0-0.48.el7.x86_64
--> Processing Dependency: libnfsidmap for package: 1:nfs-utils-1.3.0-0.48.el7.x86_64
--> Processing Dependency: quota for package: 1:nfs-utils-1.3.0-0.48.el7.x86_64
--> Processing Dependency: libevent-2.0.so.5()(64bit) for package: 1:nfs-utils-1.3.0-0.48.el7.x86_64
--> Processing Dependency: libnfsidmap.so.0()(64bit) for package: 1:nfs-utils-1.3.0-0.48.el7.x86_64
--> Processing Dependency: libtirpc.so.1()(64bit) for package: 1:nfs-utils-1.3.0-0.48.el7.x86_64
---> Package rpcbind.x86_64 0:0.2.0-42.el7 will be installed
--> Running transaction check
---> Package gssproxy.x86_64 0:0.7.0-4.el7 will be installed
--> Processing Dependency: libini_config.so.3(INI_CONFIG_1.1.0)(64bit) for package: gssproxy-0.7.0-4.el7.x86_64
--> Processing Dependency: libini_config.so.3(INI_CONFIG_1.2.0)(64bit) for package: gssproxy-0.7.0-4.el7.x86_64
--> Processing Dependency: libref_array.so.1(REF_ARRAY_0.1.1)(64bit) for package: gssproxy-0.7.0-4.el7.x86_64
--> Processing Dependency: libverto-module-base for package: gssproxy-0.7.0-4.el7.x86_64
--> Processing Dependency: libbasicobjects.so.0()(64bit) for package: gssproxy-0.7.0-4.el7.x86_64
--> Processing Dependency: libcollection.so.2()(64bit) for package: gssproxy-0.7.0-4.el7.x86_64
--> Processing Dependency: libini_config.so.3()(64bit) for package: gssproxy-0.7.0-4.el7.x86_64
--> Processing Dependency: libref_array.so.1()(64bit) for package: gssproxy-0.7.0-4.el7.x86_64
---> Package libevent.x86_64 0:2.0.21-4.el7 will be installed
---> Package libnfsidmap.x86_64 0:0.25-17.el7 will be installed
---> Package libtirpc.x86_64 0:0.2.4-0.10.el7 will be installed
---> Package quota.x86_64 1:4.01-14.el7 will be installed
--> Processing Dependency: quota-nls = 1:4.01-14.el7 for package: 1:quota-4.01-14.el7.x86_64
--> Processing Dependency: tcp_wrappers for package: 1:quota-4.01-14.el7.x86_64
--> Running transaction check
---> Package libbasicobjects.x86_64 0:0.1.1-27.el7 will be installed
---> Package libcollection.x86_64 0:0.6.2-27.el7 will be installed
---> Package libini_config.x86_64 0:1.3.0-27.el7 will be installed
--> Processing Dependency: libpath_utils.so.1(PATH_UTILS_0.2.1)(64bit) for package: libini_config-1.3.0-27.el7.x86_64
--> Processing Dependency: libpath_utils.so.1()(64bit) for package: libini_config-1.3.0-27.el7.x86_64
---> Package libref_array.x86_64 0:0.1.5-27.el7 will be installed
---> Package libverto-tevent.x86_64 0:0.2.5-4.el7 will be installed
---> Package quota-nls.noarch 1:4.01-14.el7 will be installed
---> Package tcp_wrappers.x86_64 0:7.6-77.el7 will be installed
--> Running transaction check
---> Package libpath_utils.x86_64 0:0.2.1-27.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================
 Package                        Arch                  Version                           Repository          Size
=================================================================================================================
Installing:
 nfs-utils                      x86_64                1:1.3.0-0.48.el7                  dvd                398 k
 rpcbind                        x86_64                0.2.0-42.el7                      dvd                 59 k
Installing for dependencies:
 gssproxy                       x86_64                0.7.0-4.el7                       dvd                105 k
 libbasicobjects                x86_64                0.1.1-27.el7                      dvd                 25 k
 libcollection                  x86_64                0.6.2-27.el7                      dvd                 41 k
 libevent                       x86_64                2.0.21-4.el7                      dvd                214 k
 libini_config                  x86_64                1.3.0-27.el7                      dvd                 63 k
 libnfsidmap                    x86_64                0.25-17.el7                       dvd                 49 k
 libpath_utils                  x86_64                0.2.1-27.el7                      dvd                 27 k
 libref_array                   x86_64                0.1.5-27.el7                      dvd                 26 k
 libtirpc                       x86_64                0.2.4-0.10.el7                    dvd                 89 k
 libverto-tevent                x86_64                0.2.5-4.el7                       dvd                9.0 k
 quota                          x86_64                1:4.01-14.el7                     dvd                179 k
 quota-nls                      noarch                1:4.01-14.el7                     dvd                 91 k
 tcp_wrappers                   x86_64                7.6-77.el7                        dvd                 79 k

Transaction Summary
=================================================================================================================
Install  2 Packages (+13 Dependent packages)

Total download size: 1.4 M
Installed size: 4.1 M
Downloading packages:
-----------------------------------------------------------------------------------------------------------------
Total                                                                            2.5 MB/s | 1.4 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libref_array-0.1.5-27.el7.x86_64                                                             1/15 
  Installing : libcollection-0.6.2-27.el7.x86_64                                                            2/15 
  Installing : libbasicobjects-0.1.1-27.el7.x86_64                                                          3/15 
  Installing : libtirpc-0.2.4-0.10.el7.x86_64                                                               4/15 
  Installing : rpcbind-0.2.0-42.el7.x86_64                                                                  5/15 
  Installing : 1:quota-nls-4.01-14.el7.noarch                                                               6/15 
  Installing : libpath_utils-0.2.1-27.el7.x86_64                                                            7/15 
  Installing : libini_config-1.3.0-27.el7.x86_64                                                            8/15 
  Installing : tcp_wrappers-7.6-77.el7.x86_64                                                               9/15 
  Installing : 1:quota-4.01-14.el7.x86_64                                                                  10/15 
  Installing : libevent-2.0.21-4.el7.x86_64                                                                11/15 
  Installing : libnfsidmap-0.25-17.el7.x86_64                                                              12/15 
  Installing : libverto-tevent-0.2.5-4.el7.x86_64                                                          13/15 
  Installing : gssproxy-0.7.0-4.el7.x86_64                                                                 14/15 
  Installing : 1:nfs-utils-1.3.0-0.48.el7.x86_64                                                           15/15 
  Verifying  : libverto-tevent-0.2.5-4.el7.x86_64                                                           1/15 
  Verifying  : rpcbind-0.2.0-42.el7.x86_64                                                                  2/15 
  Verifying  : 1:quota-4.01-14.el7.x86_64                                                                   3/15 
  Verifying  : libtirpc-0.2.4-0.10.el7.x86_64                                                               4/15 
  Verifying  : libnfsidmap-0.25-17.el7.x86_64                                                               5/15 
  Verifying  : libini_config-1.3.0-27.el7.x86_64                                                            6/15 
  Verifying  : libbasicobjects-0.1.1-27.el7.x86_64                                                          7/15 
  Verifying  : libevent-2.0.21-4.el7.x86_64                                                                 8/15 
  Verifying  : tcp_wrappers-7.6-77.el7.x86_64                                                               9/15 
  Verifying  : libpath_utils-0.2.1-27.el7.x86_64                                                           10/15 
  Verifying  : 1:quota-nls-4.01-14.el7.noarch                                                              11/15 
  Verifying  : gssproxy-0.7.0-4.el7.x86_64                                                                 12/15 
  Verifying  : libcollection-0.6.2-27.el7.x86_64                                                           13/15 
  Verifying  : libref_array-0.1.5-27.el7.x86_64                                                            14/15 
  Verifying  : 1:nfs-utils-1.3.0-0.48.el7.x86_64                                                           15/15 

Installed:
  nfs-utils.x86_64 1:1.3.0-0.48.el7                         rpcbind.x86_64 0:0.2.0-42.el7                        

Dependency Installed:
  gssproxy.x86_64 0:0.7.0-4.el7        libbasicobjects.x86_64 0:0.1.1-27.el7 libcollection.x86_64 0:0.6.2-27.el7
  libevent.x86_64 0:2.0.21-4.el7       libini_config.x86_64 0:1.3.0-27.el7   libnfsidmap.x86_64 0:0.25-17.el7   
  libpath_utils.x86_64 0:0.2.1-27.el7  libref_array.x86_64 0:0.1.5-27.el7    libtirpc.x86_64 0:0.2.4-0.10.el7   
  libverto-tevent.x86_64 0:0.2.5-4.el7 quota.x86_64 1:4.01-14.el7            quota-nls.noarch 1:4.01-14.el7     
  tcp_wrappers.x86_64 0:7.6-77.el7    

Complete!

2 启动 NFS-Server

[root@qdlinux ~]# systemctl start rpcbind
[root@qdlinux ~]# systemctl enable rpcbind
[root@qdlinux ~]# systemctl start nfs-server.service 
[root@qdlinux ~]# systemctl enable nfs-server.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

启动和启用NFS服务程序,由于在使用NFS服务进行文件共享之前,需要使用RPC(Remote Procedure Call,远程过程调用),服务将NFS服务器的IP地址和端口号等信息发送给客户端.因此,在启动NFS服务之前,还需要顺带重启并启动rpcbind服务,这里将两个服务一并加入到开机启动项中.

3 可以使用 rpcbind -p 查看一下注册的信息.

[root@qdlinux ~]# rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  43946  status
    100024    1   tcp  38188  status
    100005    1   udp  20048  mountd
    100005    1   tcp  20048  mountd
    100005    2   udp  20048  mountd
    100005    2   tcp  20048  mountd
    100005    3   udp  20048  mountd
    100005    3   tcp  20048  mountd
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    3   udp   2049  nfs_acl
    100021    1   udp  35724  nlockmgr
    100021    3   udp  35724  nlockmgr
    100021    4   udp  35724  nlockmgr
    100021    1   tcp  44097  nlockmgr
    100021    3   tcp  44097  nlockmgr
    100021    4   tcp  44097  nlockmgr

4 查看系统相关进程信息

[root@qdlinux ~]# ps -ef | egrep "rpc|nfs"
rpc        1959      1  0 16:37 ?        00:00:00 /sbin/rpcbind -w
rpcuser    2039      1  0 16:38 ?        00:00:00 /usr/sbin/rpc.statd
root       2047      2  0 16:38 ?        00:00:00 [rpciod]
root       2057      1  0 16:38 ?        00:00:00 /usr/sbin/rpc.mountd
root       2058      1  0 16:38 ?        00:00:00 /usr/sbin/rpc.idmapd
root       2068      2  0 16:38 ?        00:00:00 [nfsd4_callbacks]
root       2074      2  0 16:38 ?        00:00:00 [nfsd]
root       2075      2  0 16:38 ?        00:00:00 [nfsd]
root       2076      2  0 16:38 ?        00:00:00 [nfsd]
root       2077      2  0 16:38 ?        00:00:00 [nfsd]
root       2078      2  0 16:38 ?        00:00:00 [nfsd]
root       2079      2  0 16:38 ?        00:00:00 [nfsd]
root       2080      2  0 16:38 ?        00:00:00 [nfsd]
root       2081      2  0 16:38 ?        00:00:00 [nfsd]
root       2135   1633  0 16:52 pts/0    00:00:00 grep -E --color=auto rpc|nfs

5 NFS服务端配置共享目录

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

//创建需要共享的目录
[root@qdlinux ~]# mkdir /nfsfile

[root@qdlinux ~]# systemctl restart nfs-server.service 
[root@qdlinux ~]# cat /var/lib/nfs/etab 
/nfsfile    192.168.56.*(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,secure,root_squash,all_squash)

//查看一下id=65534是哪一个用户
[root@qdlinux ~]# grep "65534" /etc/passwd
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

//修改一下`/nfsfile`的权限,这里也可以把目录所属主和所属组改为nfsnobody或者直接给成777权限
[root@qdlinux ~]# chmod -Rf nfsnobody:nfsnobody /nfsfile/

//在目录下写入一个文件用于测试
[root@qdlinux ~]# echo "welecome to qdlinux" > /nfsfile/readme
[root@qdlinux ~]# ll  /nfsfile/
total 4
-rw-r--rwx 1 root root 20 Aug 16 17:30 readme
[root@qdlinux ~]# 

NFS客户端的配置步骤十分简单,先使用 showmount 命令查询NFS服务器的远程共享信息,其输出格式为"共享的目录名称 允许使用客户端地址".

参数 作用
-e 显示NFS服务器的共享李彪
-a 显示本机挂载的文件资源的情况
-v 显示版本号
[root@qdlinux ~]# showmount -e 192.168.56.15
Export list for 192.168.56.15:
/nfsfile 192.168.56.*

6 客户端测试

[root@qdlinux ~]# yum install nfs-utils rpcbind -y
[root@qdlinux ~]# systemctl start rpcbind
[root@qdlinux ~]# systemctl is-enabled rpcbind
enabled
[root@qdlinux ~]# systemctl is-active rpcbind
active

//查询一下服务是否运行
[root@qdlinux ~]# systemctl status rpcbind
● rpcbind.service - RPC bind service
   Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-08-16 14:05:32 CST; 3h 48min ago
 Main PID: 568 (rpcbind)
    Tasks: 1
   CGroup: /system.slice/rpcbind.service
           └─568 /sbin/rpcbind -w

Aug 16 14:05:27 qdlinux.com systemd[1]: Starting RPC bind service...
Aug 16 14:05:32 qdlinux.com systemd[1]: Started RPC bind service.

//在客户端使用`showmount -e`命令查询一下
[root@qdlinux ~]# showmount -e 192.168.56.15 NFS服务器共享列表
Export list for 192.168.56.15:
/nfsfile 192.168.56.*

7 NFS客户端挂载

在NFS客户端创建一个挂在目录,使用mount命令加-t参数,指定要挂在的文件系统的类型,并在命令后面写上服务器的IP地址、服务器上的共享目录以及要挂载到本地系统(客户端)的目录.

[root@qdlinux /]# mkdir /data
[root@qdlinux /]# mount -t nfs 192.168.56.15:/nfsfile /data

//现在已经挂载成功了,可以看到在NFS服务器上创建的文件了.

如果希望NFS文件共享服务能一直有效,需要将其写入到 fstab 文件中.

[root@qdlinux data]# vim /etc/fstab
192.168.56.15:/nfsfile                    /data                   nfs     defaults        0 0

1 如果NFS服务器宕机,强制卸载umount -lf /data
2 [root@qdlinux data]# umount /data
  umount.nfs4: /data: device is busy
  出现这种情况时,退出挂载目录然后在卸载

8 autofs自动挂载服务

autofs服务程序是一种Linux系统守护进程,当检测到用户试图去访问一个尚未挂载的文件系统时,将自动挂载该文件系统,我们将挂载信息写入/etc/fstab文件后,系统在每次开机时都自动将其挂载,而autofs自动挂载服务是用户需要使用该文件系统时才会去动态挂载,从而节约了网络资源和服务器的硬件资源.

[root@qdlinux /]# yum install autofs -y

直接挂载方式,本地的挂载点是绝对路径

[root@qdlinux /]# vim /etc/auto.master.d/nfs.autofs
/-      /etc/auto.nfs_direct
[root@qdlinux /]# vim /etc/auto.nfs_direct 
/data   -rw,sync,soft   192.168.56.15:/nfsfile

//mount查看一下
/etc/auto.nfs_direct on /data type autofs (rw,relatime,fd=18,pgrp=6217,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=79495)

间接挂载方式

[root@qdlinux ~]# mkdir -p /public/share
[root@qdlinux ~]# chown -Rf nfsnobody:nfsnobody /public/share
[root@qdlinux ~]# vim /etc/exports
/public/share 192.168.56.*(rw,sync,all_squash)
//重新启动nfs-server

[root@qdlinux ~]# showmount -e 192.168.56.15
Export list for 192.168.56.15:
/public/share 192.168.56.*
/nfsfile      192.168.56.*

[root@qdlinux /]# mkdir /test
[root@qdlinux /]# vim /etc/auto.master.d/share.autofs
/test  /etc/share.nfs_share
[root@qdlinux /]# vim /etc/share.nfs_share
*       -rw,sync,soft   192.168.56.15:/public/&
//重新启动autofs服务

现在可以访问了,客户端当你切换到/test/share时可以创建文件服务端实时同步.

12.3 NFS网络文件系统

NFS(Network Files System)即网络文件系统,NFS文件系统协议允许网络中的主机通过TCP/IP协议进行资源共享,NFS客户端可以像使用本地资源一样读写远端NFS服务端的资料,需要注意NFS服务依赖于RPC服务与外部通信,所以必需保证RPC服务能够正常注册服务的端口信息才能正常使用NFS服务。

有个学员问过NFS是不是need for speed的缩写啊?哈哈,NFS配置和使用都是非常快捷,所以这么说也是有道理的。

红帽RHEL7系统已经默认安装NFS服务:

[root@linuxprobe ~]# yum install nfs-utils
Loaded plugins: langpacks, product-id, subscription-manager
(1/2): rhel7/group_gz | 134 kB 00:00
(2/2): rhel7/primary_db | 3.4 MB 00:00
Package 1:nfs-utils-1.3.0-0.el7.x86_64 already installed and latest version
Nothing to do

本次的实验需要两台Linux主机,网络配置情况:

编辑
主机名称 操作系统 IP地址
NFS服务端 红帽RHEL7操作系统 192.168.10.10
NFS客户端 红帽RHEL7操作系统 192.168.10.20

第1步:创建NFS服务端的共享目录。
清空iptables默认的规则链:

[root@linuxprobe ~]# iptables -F

保存清空后的iptables规则:

[root@linuxprobe ~]# service iptables save

创建nfsfile共享目录:

[root@linuxprobe ~]# mkdir /nfsfile

为共享目录设置权限(让其他人可以有写入权限):

[root@linuxprobe ~]# chmod -Rf 777 /nfsfile

写入一个文件,用于NFS客户端读取:

[root@linuxprobe ~]# echo "welcome to linuxprobe.com" > /nfsfile/readme

NFS服务端配置文件是"/etc/exports",用于定义要共享的目录以及相应权限。

[root@linuxprobe ~]# vim /etc/exports
//格式为:共享目录的绝对路径 允许访问NFS资源的客户端(权限参数)
/nfsfile 192.168.10.* (rw,sync,root_squash)

NFS配置共享的参数有:

编辑
参数 作用
ro 只读默认
rw 读写模式
root_squash 当NFS客户端使用root用户访问时,映射为NFS服务端的匿名用户。
no_root_squash 当NFS客户端使用root用户访问时,映射为NFS服务端的root用户。
all_squash 不论NFS客户端使用任何帐户,均映射为NFS服务端的匿名用户。
sync 同时将数据写入到内存与硬盘中,保证不丢失数据。
async 优先将数据保存到内存,然后再写入硬盘,效率更高,但可能造成数据丢失。

看完后来分析下/etc/exports文件中参数作用吧“/nfsfile 192.168.10.* (rw,sync,no_root_squash)(答案模式)

答案:将/nfsfile目录共享给192.168.10.0/24网段,运行NFS客户端读写数据、同步数据并映射为NFS服务器的root用户。

第2步:启动NFS服务端

刚刚讲到NFS服务是依赖于RPC服务的,但在红帽RHEL7系统中RPC服务已经默认运行(active)了,所以无需再配置RPC服务啦。

[root@linuxprobe ~]# systemctl status rpcbind

启动nfs-server程序:

[root@linuxprobe ~]# systemctl start nfs-server

设置NFS服务端为开机启动:

[root@linuxprobe ~]# systemctl enable nfs-server

第3步:配置NFS客户端
如果NFS客户端也是红帽RHEL7系统,那么软件包nfs-utils一定也是已经默认安装,直接挂载共享就可以了。
showmount命令用于查询NFS服务端共享信息,格式为:“showmount [参数] [远程主机]”。

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

查询远程NFS服务端中可用的共享资源:

[root@linuxprobe ~]# showmount -e 192.168.10.10
Export list for 192.168.10.10:
/nfsfile (everyone)

创建本地挂载目录:

[root@linuxprobe ~]# mkdir /nfsfile
[root@linuxprobe ~]# mount -t nfs 192.168.10.10:/nfsfile /nfsfile

顺利查看到刚刚写入文件内容:

[root@linuxprobe ~]# cat /nfsfile/readme
welcome to linuxprobe.com

如果希望开机后自动将NFS资源挂载到本地,那么就可以通过修改fstab文件来实现:

[root@linuxprobe ~]# vim /etc/fstab
192.168.10.10:/nfsfile /nfsfile nfs defaults 0 0

三、autofs自动挂载

所谓自动挂载,就是减少资源的损耗,使开机速度更快,让挂载更加智能,意思是使用挂载目录里文件的时候从才会自动挂载,如果不使用的话,则不挂载。

yum install autofs -y //安装autofs

vim /etc/auto.master //编辑配置文件

格式为:挂载目录 子配置文件

例:/media/cdrom /etc/cdrom.misc

子配置文件格式:

挂载目录 -fstype=设备类型 权限 :设备名称

例:/media/iso -fstype=iso9660 ro,nosuid,nodev :/dev/cdrom

这样就可以实现自动挂载,当你要使用/media/iso中的文件时候,/dev/cdrom会自动挂载,如果不使用就不会挂载

 

 

 

12.1 了解文件共享服务

早期网络想要在不同主机之间共享文件大多要用FTP协议来传输,但FTP协议仅能做到传输文件却不能直接修改对方主机的资料数据,这样确实不太方便,于是便出现了NFS开源文件共享程序:NFS(NetworkFile System)是一个能够将多台Linux的远程主机数据挂载到本地目录的服务,属于轻量级的文件共享服务,不支持Linux与 Windows系统间的文件共享。

图片 23

随后在1991年时大学生Tridgwell为了解决Linux与Windows系统之间共享文件的问题,便开发出了SMB协议与Samba服务程序。

SMB(Server Messages Block)协议: style="text-decoration: underline;">实现局域网内文件或打印机等资源共享服务的协议。

当时Tridgwell想要注册SMBServer这个商标,但却被因为SMB是没有意义的字符被拒绝了,经过Tridgwell不断翻看词典,终于找到了一个拉丁舞蹈的名字——SAMBA,而这个热情舞蹈的名字中又恰好包含了SMB(SAMBA),于是这便是Samba程序名字的由来。

Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软件,实现了Linux与Windows系统间的文件共享。

图片 24

iptables  -I INPUT -p tcp --dport 111 -j ACCEPT
iptables  -I INPUT -p udp --dport 111 -j ACCEPT
iptables  -I INPUT -p tcp --dport 2049 -j ACCEPT
iptables  -I INPUT -p udp --dport 2049 -j ACCEPT
iptables  -I INPUT -p tcp --dport 30001:30004 -j ACCEPT
iptables  -I INPUT -p udp --dport 30001:30004 -j ACCEPT
service iptables save
service iptables restart

详细逐条讲解Samba服务配置参数,演示安全共享文件的配置策方法,并使用autofs服务程序自动挂载设备,

Step-7:卸载网络共享目录,详情如下所示:

12.2 Samba服务

2. 安装NFS客户端(192.168.4.212)

章节简述:

Step-4:配置共享目录挂载点目录,运行以下命令:

本章节为读者讲述文件共享系统的作用,了解Samba与NFS服务程序的开发背景以及用法。

 

12.4 AutoFs自动挂载服务

AutoFs服务与Mount/Umount命令不同之处在于它是一种守护进程,只有检测到用户试图访问一个尚未挂载的文件系统时才自动的检测并挂载该文件系统,换句话说,将挂载信息填入/etc/fstab文件后系统将在每次开机时都自动将其挂载,而运行AutoFs后则是当用户需要使用该文件系统了才会动态的挂载,节约网络与系统资源。

模拟训练:每次进入/media/iso目录时都会自动挂载镜像。

编辑
主机名称 操作系统 IP地址
NFS服务端 红帽RHEL7操作系统 192.168.10.10
NFS客户端 红帽RHEL7操作系统 192.168.10.20

安装autofs服务:

[root@linuxprobe ~]# yum install autofs
………………省略部分安装过程………………
Installing:
autofs x86_64 1:5.0.7-40.el7 rhel 550 k
Installing for dependencies:
hesiod x86_64 3.2.1-3.el7 rhel 30 k
………………省略部分安装过程………………
Complete!

启动autofs服务并加入到开机启动项中:

[root@linuxprobe ~]# systemctl start autofs
[root@linuxprobe ~]# systemctl enable autofs
ln -s '/usr/lib/systemd/system/autofs.service' '/etc/systemd/system/multi-user.target.wants/autofs.service'

修改autofs主配置文件(格式为:挂载目录 映射配置文件):

[root@linuxprobe ~]# vim /etc/auto.master
/media /etc/iso.misc

编辑挂载配置参数文件(映射文件):

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

重新加载启动autofs服务:

[root@linuxprobe ~]# systemctl restart autofs

进入自动挂载目录中:

[root@linuxprobe ~]# cd /media/iso

查看当前目录下的文件:

[root@linuxprobe iso]# ls
addons images Packages RPM-GPG-KEY-redhat-release
EFI isolinux release-notes TRANS.TBL
EULA LiveOS repodata
GPL media.repo RPM-GPG-KEY-redhat-beta
vi /etc/sysconfig/nfs

搜索和设置如下所示的端口配置:
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004

本章目录结构

 

  • 12.1 了解文件共享服务
  • 12.2 Samba服务
    • 12.2.1 安装服务程序
    • 12.2.2 安全共享文件
  • 12.3 NFS网络文件系统
  • 12.4 AutoFs自动挂载服务

 

12.2.1 安装服务程序

通过安装Samba服务程序后细致的分析其配置文件参数,更能够帮助读者们理解Samba服务的安全验证方式。

安装Samba服务软件包:

[root@linuxprobe Desktop]# yum install samba
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
 samba           x86_64           4.1.1-31.el7            rhel7           527 k
………………省略部分安装过程………………
Complete!

浏览Samba配置文件:

[root@linuxprobe ~]# cat/etc/samba/smb.conf

配置文件竟然有320行!有没有被吓到?其实Samba服务配置文件中大部分是注释信息,我们可以来筛选过滤下:

备份原始的配置文件:

[root@linuxprobe ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

过滤掉无用的内容:
先使用cat命令读入Smb配置文件后通过grep命令-v参数(反向选择)去掉所有注释信息,然后分别删选掉包含#号的行("#"),包含;号的行(";")以及所有的空白行("^$"),最后最后将过滤后的信息覆盖写入到/etc/samba/smb.conf文件中。

cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf

让我们来看看过滤后的配置文件吧:

编辑

[global]

 

#全局参数。

 

workgroup = MYGROUP

#工作组名称。

 

server string = Samba Server Version %v

#服务器介绍信息,参数%v为显示SMB版本号。

 

log file = /var/log/samba/log.%m

#定义日志文件存放位置与名称,参数%m为来访的主机名。

 

max log size = 50

#定义日志文件最大容量为50Kb。

 

security = user

#安全验证的方式,总共有4种。

 

#share:来访主机无需验证口令,更加方便,但安全性很差。

 

#user:需由SMB服务验证来访主机提供的口令后才可建立访问,更加的安全。

 

#server:使用独立的远程主机验证来访主机提供的口令(集中管理帐号)。

 

#domain:使用PDC来完成验证

 

passdb backend = tdbsam

#定义用户后台的类型,共有3种。

 

#smbpasswd:使用SMB服务的smbpasswd命令给系统用户设置SMB密码。

 

#tdbsam:创建数据库文件并使用pdbedit建立SMB独立的用户。

 

#ldapsam:基于LDAP服务进行帐户验证。

 

load printers = yes

#设置是否当Samba服务启动时共享打印机设备。

 

cups options = raw

#打印机的选项

[homes]

 

#共享参数

 

comment = Home Directories

#描述信息

 

browseable = no

#指定共享是否在“网上邻居”中可见。

 

writable = yes

#定义是否可写入操作,与"read only"相反。

[printers]

 

#打印机共享参数

 

comment = All Printers

 

 

path = /var/spool/samba

#共享文件的实际路径(重要)。

 

browseable = no

 

 

guest ok = no

#是否所有人可见,等同于"public"参数。

 

writable = no

 

 

printable = yes

 

标准的Samba共享参数是这样的:

编辑
参数 作用
[linuxprobe] 共享名称为linuxprobe
comment = Do not arbitrarily modify the database file 警告用户不要随意修改数据库
path = /home/database 共享文件夹在/home/database
public = no 关闭所有人可见
writable = yes 允许写入操作

我们将上面的配置参数直接追加到SMB服务配置文件(/etc/samba/smb.conf)并重启SMB服务程序即可生效。

但此时SMB服务默认的验证模式为user,我们需要先创建用户数据库后才可以正常使用,现在来学习下如何创建吧~

vi /etc/auto.master

上述文件的内容如下所示:
/root/demo    /etc/auto.demo

其中,/root/demo是挂载点的父目录,这个目录在系统中始终可见,并由autofs服务监控,以确定是否“需要”挂载/创建子目录挂载点。/etc/auto.demo为单个配置文件,包含由autofs服务在此父目录下管理的子目录挂载点的列表。

nfs服务端IP:192.168.4.211

 

  1. 环境说明

4. 开机自动挂载

Step-7:启动NFS相关服务,运行以下命令:

 

Step-2:为NFS指定固定端口,运行以下命令:

Step-1:修改不活动状态的超时时间,运行以下命令:

nfs客户端IP:192.168.4.212

Step-1:安装nfs-utils和rpcbind,运行以下命令:

Step-5:创建共享目录,运行以下命令:

Step-4:设置SELinux为许可状态,运行以下命令:

Step-2:创建挂载目录,运行以下命令:

Step-1:修改不活动状态的超时时间,运行以下命令:

当autofs服务运行时,系统中存在一个名为/net的特殊目录,但是该目录将显示为空。NFS客户端通过特殊映射实现按需自动挂载共享目录的步骤如下所示:

 

 

 

--------------------------------------分割线

Ubuntu 12.04安装NFS server http://www.linuxidc.com/Linux/2012-09/70728.htm

NFS服务器安装配置实现Ubuntu 12.04与ARM文件共享 http://www.linuxidc.com/Linux/2012-10/73159.htm

Ubuntu搭建nfs服务器 http://www.linuxidc.com/Linux/2012-10/71930.htm

文件服务器NFS配置详解 http://www.linuxidc.com/Linux/2013-06/86542.htm

Ubuntu下搭建NFS网络文件系统服务器 http://www.linuxidc.com/Linux/2013-07/87367.htm

Heartbeat_ldirector+LB+NFS实现HA及LB、文件共享 http://www.linuxidc.com/Linux/2013-06/85292.htm

CentOS 5.5配置NFS服务器教程 http://www.linuxidc.com/Linux/2013-03/81737.htm

Ubuntu 12.10下NFS的安装使用 http://www.linuxidc.com/Linux/2013-03/80478.htm

 

在/net/192.168.4.211/data/nfs_share之下的所有文件和目录停止使用且超时期满之后(10分钟),autofs将卸载共享目录。

 

nfs服务端系统:CentOS 6.4 x86_64

Step-3:卸载已挂载的网络共享目录,详情如下所示:

 

 

Step-1:确定挂载点,运行以下命令:

除此之外,还可以使用自动挂载器(autofs)实现按需自动挂载网络共享目录。当共享不再使用,并处于不活动状态一定时间之后,自动挂载器会对共享解除挂载。

mkdir -p /root/remote_dir

其中,/root/remote_dir为共享目录的挂载点目录。

Step-5:重新启动autofs服务,运行以下命令:

Step-2:建立共享目录挂载点的父目录,运行以下命令:

5. 按需自动挂载(特殊映射)

vi /etc/exports

在上述文件的末尾新增一行,如下所示:
/data/nfs_share 192.168.4.212(rw,sync,no_root_squash)
/data/nfs_share *(ro)

这一行表示只有192.168.4.212客户端能够以读写权限挂载共享目录,其他客户端只能以只读权限挂载。

 

NFS客户端不需要启动NFS服务,但需要安装nfs-utils,运行以下命令:

 

6. 按需自动挂载(间接映射)

cd /net/192.168.4.211/data/nfs_share

运行上述命令时,autofs会自动挂载NFS服务端中的网络共享目录。
umount /root/remote_dir
mkdir -p /data/nfs_share

上述命令将建立共享目录/data/nfs_share。

1. 安装NFS服务端(192.168.4.211)

 

向fstab文件中添加共享目录的挂载条目,即可实现开机自动挂载,但是随后与NFS服务端的连接将始终处于活动状态。运行以下命令:

 

service iptables status
rpcinfo -p localhost

 

Step-4:共享目录使用结束之后,卸载共享目录,运行以下命令:

 

service autofs restart

 

 

yum install -y nfs-utils

 

Step-6:访问网络共享目录,运行以下命令:

 

mkdir -p /root/demo
cd /root/demo/remote_dir

运行上述命令之后,autofs将自动创建挂载点目录,并且挂载共享目录。

 

showmount -e 192.168.4.211

-e选项显示NFS服务端的导出列表。

 

 

 

mount -t nfs 192.168.4.211:/data/nfs_share /root/remote_dir

其中,-t选项用于指定文件系统的类型为nfs。

Step-8:检查NFS的相关端口是否已经启用,运行以下命令:

Step-3:挂载共享目录,运行以下命令:

 

vi /etc/selinux/config

将上述文件中的
SELINUX=enforcing
替换为
SELINUX=permissive

保存上述文件之后,运行以下命令:
setenforce 0
vi /etc/sysconfig/autofs

将上述文件中的
TIMEOUT=300
替换为
TIMEOUT=600
也就是将不活动状态的超时时间由5分钟修改为10分钟。

配置完成之后,重启autofs服务:
service autofs restart

Step-2:访问网络共享目录,运行以下命令:

vi /etc/sysconfig/autofs

将上述文件中的
TIMEOUT=300
替换为
TIMEOUT=600
也就是将不活动状态的超时时间由5分钟修改为10分钟。

Step-6:配置exports文件,运行以下命令:

 

 

mkdir -p /root/remote_dir
vi /etc/fstab

在上述文件末尾加入共享目录的挂载条目,如下所示:
192.168.4.211:/data/nfs_share /root/remote_dir nfs defaults 0 0

其中,第5个字段设置为0表示共享目录的文件系统不需要使用dump命令进行转储,第6个字段设置为0表示共享目录的文件系统不需要使用fsck命令进行检查。

--------------------------------------分割线

更多CentOS相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-01/112051.htm 

图片 25

Step-3:开放防火墙中的上述端口,运行以下命令:

Step-3:配置共享目录挂载点的父目录,运行以下命令:

在/root/demo/remote_dir之下的所有文件和目录停止使用且超时期满之后(10分钟),autofs将卸载共享目录。

nfs客户端系统:CentOS 6.4 x86_64

yum install -y nfs-utils rpcbind

上述命令将安装rpcbind服务和nfs服务。
vi /etc/auto.demo

上述文件的内容如下所示:
remote_dir -rw 192.168.4.211:/data/nfs_share

其中,remote_dir为子目录挂载点,此目录通常不可见,只有当autofs服务创建此目录和挂载共享之后对其进行直接命名/访问时,它才会变为可见。-rw为挂载网络共享时要使用的挂载选项。192.168.4.211:/data/nfs_share为需要挂载的NFS服务端和共享目录。

3. 手动挂载NFS共享目录

 

本文由9159.com发布于操作系统,转载请注明出处:主机可以是Linux,了解Samba与NFS服务程序的开发背

关键词: