4下NFS存款和储蓄服务配置,NFS服务器配置网赌十大信誉的平台

Linux基础教程学习笔记35——配置NFS和SMB文件共享服务

阅读目录

 

一、配置NFS服务

  • 1.1 NFS服务内容的概述
  • 1.2 NFS是什么
  • 1.3 NFS共享网络文件系统企业应用
  • 1.4 NFS文件系统存在意义
  • 1.5 NFS 网络文件系统工作方式
  • 1.6 NFS网络文件系统重点要了解两个重要服务
  • 2.1 进行服务器架构规划
  • 2.2 NFS服务端部署过程
  • 2.3 NFS 客户端部署
  • 3.1 NFS服务相关进程信息
  • 3.2 /etc/exports配置文件说明
  • 3.3 NFS服务端设置rpcbind nfs服务开机自启动
  • 3.4 NFS配置文件编写说明
  • 3.5 nfs配置参数说明
  • 3.6 nfs配置参数实践

NFS服务器配置

    NFS服务使用端口:2049

第1章 NFS介绍

   NFS(Network File
System),网络文件系统。其目的就是使不同机器,不同操作系统可以彼此共享数据文件。但是在Unix
Like系统主机之间采用NFS服务器比SAMBA服务器快速和方便许多。NFS服务是RPC(Remote
Procedure Call)服务的一种,要使用NFS服务首先要启动RPC(rpcbind)。

    此外还使用以下RPC服务的随机端口:

1.1 NFS服务内容的概述

□ RPC服务知识概念介绍说明,以及RPC服务存在价值(必须理解掌握)

□ NFS服务工作原理讲解(必须理解掌握)

□ NFS共享文件系统使用原理讲解(必须理解掌握

□ NFS服务配罝文件exports编写格式说明(必须理解掌握

1.NFS服务所须要的软件。

    RPC使用端口111:远程进程调用

1.2 NFS是什么

NFS(Network
File System)即网络文件系统

  它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。

  分布式文件系统Moosefs(mfs)\glusterFS

RPC主程序: rpcbind

        rpc.lock:随机端口

1.2.1 NFS的qudian

nfs属于本地文件存储服务

  缺点一:

    winndows上无法使用

  缺点二:

在高并发场景,以及存储量比较高的场景,对数据安全性要求比较高场景

        需要采用分布式储存(mfs
 FastDFS

        分布式文件系统:无法在服务器中看到真实的文件信息

rpcbind软件安装后即可运行RPC服务,该服务监听111端口,所有RPC服务比如NFS服务启动的随机端口都要想111端口进行注册(port
mapping)。

        rpc.mount:随机端口

1.2.2 实现Windows与linux系统文件数据共享方法

        a.ftp(ftp服务部署)

        b.samba服务   

NFS主程序: nfs-utils

        rpc.stat:随机端口

1.3 NFS共享网络文件系统企业应用

主要用于存储web服务器上用户上传的数据信息,图片 附件 头像 视频 音频

 

该软件主要提供rpc.nfsd与rpc.mountd这两个NFS
daemons与其他相关docments与说明文件、可执行文件等。

在RHEL6中,以上随机端口需要设置固定的端口,而RHEL7中则以更简单的方式管理:

1.4 NFS文件系统存在意义

网赌十大信誉的平台 1

实现数据共享,数据统一一致

2.NFS的软件结构。

查看本机开放的NFS端口,当重启NFS服务的时候,开放的端口会改变:

1.4.1 实现的不同方法

软件实现:

本地文件系统NFS 
分布式文件系统
mfs

硬件实现:

IBM (服务器
小型机 大型机 存储 DS V7000 V5000)
Oracle EMC = 去IOE

回到顶部

主要配置文件:/etc/exports

[root@client ~]# rpcinfo -p localhost
  program vers proto  port  service

1.5 NFS 网络文件系统工作方式

 在nfs服务端创建共享目录

 通过mount 网路挂载,将NFS客户端本地目录挂载到NFS服务端共享目录上

 NFS客户端挂载目录上创建、删除、查看数据操作,等价于在服务端进行的创建、删除、查看数据操作

 

网赌十大信誉的平台 2

如图10-5所示,在 NFS服务器端设置好一个共享目录
/video后,其他有权限访问
NFS服务器端的客户端都可以将这个共享目录
/video挂载到客户端本地的某个挂载点(其实就是一个目录,这个挂载点目录可以自己随意指定),图10-5中的两个 NFS客户端本地的挂载点分別为/
v/video和/video
,不同客户端的挂载点可以不相同。

客户端正确挂载完毕后,就可以通过
NFS客户端的挂载点所在的/v/video或 /video目录查看

到 NFS服务器端 /video共享出来的目录下的所有数据。在客户端上查看时
,NFS服务器端的
/video目录就相当于客户端本地的磁盘分区或目录,几乎感觉不到使用上的区别,根据
NFS服务器端授予
的 NFS共享权限以及共享目录的本地系统权限,只要在指定的
NFS客户端操作挂载/
v/video或/video的目录,就可以将数据轻松地存取到NFS服务器端上的/video目录中了。

NFS文件系统维护命令: /usr/sbin/exportfs

    100024    1  udp  59791  status
    100024    1  tcp  43154  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  46989  nlockmgr
    100021    3  udp  46989  nlockmgr
    100021    4  udp  46989  nlockmgr
    100021    1  tcp  59814  nlockmgr
    100021    3  tcp  59814  nlockmgr
    100021    4  tcp  59814  nlockmgr
    100011    1  udp    875  rquotad
    100011    2  udp    875  rquotad
    100011    1  tcp    875  rquotad
    100011    2  tcp    875  rquotad

1.6 NFS网络文件系统重点要了解两个重要服务

 RPC服务

      NFS服务

这个命令用于重新共享/etc/exports更新的目录资源,将NFS
Server共享的目录卸载和重新共享等。

在RHEL7中,则只需要在防火墙添加相应的NFS服务即可:

1.6.1 NFS工作流程图

 网赌十大信誉的平台 3

 

共享资源的日志文件:/var/lib/nfs/*tab

[root@linuxidc ~]# firewall-cmd –add-service=nfs –permanent
[root@linuxidc ~]# firewall-cmd –add-service=rpc-bind –permanent
[root@linuxidc ~]# firewall-cmd –add-service=mountd –permanent

1.6.2 RPC服务工作原理

网赌十大信誉的平台 4

其中etab记录目录的完整的权限值,xtab记录连接到NFS
Server的相关客户端的数据。

编辑/etc/exports文件,配置NFS共享:

1.6.3 NFS详细的访问流程

网赌十大信誉的平台 5

当访问程序通过NFS客户端向NFS服务器存取文件时,其请求数据流程大致如下:

01.首先用户访间网站程序,由程序在NFS客户端上发出存取NFS文件的请求,这时NFS客户端(即执行程序的服务器)的RPC服务(rpcbind服务)就会通过网络向NFS服务器端的RPC服务(rpcbind服务)的111端口发出NFS文件存取功能的询间请求.

02.NFS服务器端的RPC服务(rpcbind服务)找到对应的已注册的NFS端口后,通知NFS客户端的RPC服务(rpcbind服务)。

03.此时NFS客户端获取到正确的端口,并与NFS daemon联机存取数据

04.NFS客户端把数据存取成功后,返回给前端访间程序,告知用户存取结果,作为网站用户,就完成了一次存取操作。

  因为NFS的各项功能都需要向RPC服务(rpcbind服务)注册,所以只有RPC服务才能获取到NFS服务的各项功能对应的端口号(port
number)、PID、NFS在主机所监听的IP等信息,而NFS客户端也只能通过向RPC服务询问才能找到正确的端□。也就是说,NFS需要有RPC服务的协助才能成功对外提供服务。从上面的描述,我们不难推断,无论是NFS客户端还是NFS服务器端,当要使用NFS时,都需要首先启动RPC服务,NFS服务必须在RPC服务启动之后启动,客户端无需启动NFS服务,但需要启动RPC服务。

客户端查询服务器共享资源命令: /usr/sbin/showmount

共享目录            范围1(权限1,权限2,权限3)       
范围2(权限1,权限2,权限3)
/aa            10.35.89.0/26(rw,sync)    10.35.56.0/26(rw,sync)

第2章 实践操作NFS 服务

该命令主要用在客户端,用以查看NFS Server共享出来的目录资源。

修改了exports文件后,无需重启nfs服务,否则可能会导致其他用户访问挂死,执行以下命令重新加载共享内容即可:
[root@linuxidc ~]# exportfs -avr

2.1 进行服务器架构规划

NFS服务器部署角色IP

服务器系统

角色

IP

CentOS release 6.9 (Final)

NFS服务器端(NFS-Sever)

10.0.0.31

CentOS release 6.9 (Final)

NFS客户端1(NFS-Client1)

10.0.0.8

CentOS release 6.9 (Final)

NFS客户端2(NFS-Client2)

10.0.0.41

 

3.安装NFS服务器相关软件。

在客户端查看服务器端共享的文件:
[root@client ~]# showmount -e 10.35.89.32

2.2 NFS服务端部署过程

yum install  rpcbind –y

挂载服务端共享的文件夹:

2.2.1 第一个里程碑-确认软件是否已经安装,安装NFS服务相关软件

  rpm -qa|grep nfs

  rpm -qa|grep rpc

安装rpcbind
nfs-utils服务程序,并进行验证安装是否成功

  yum install -y nfs-utils rpcbind

  rpm -qa nfs-utils rpcbind

 

yum install  nfs-utils –y

[root@client ~]# mount 10.35.89.32:/aa /nfs

2.2.2 第二个里程碑-编写nfs配置文件

  nfs配置文件默认存在/etc/exports

  vim /etc/exports

  #share /data by oldboy for share at 20170220

  /data  172.16.1.0/24(rw,sync) 

/etc/exports文件说明:

第一部分:/data     
      –指定共享目录信息

第二部分:172.16.1.0/24 
–指定了一个网段信息,表示允许指定的网段主机挂载到我本地的共享目录上

第三部分:(rw,sync) 
    –表示定义共享参数信息,

            rw    表示读写,对共享目录设置的权限

            sync  同步,数据会先写入到NFS服务器内存中,会立刻同步到磁盘里面==直接存储硬盘中

4.启动NFS服务器相关服务。

查看服务器端共享的文件的默认权限,其中65534指的是nfsnobody用户和组:

2.2.3 第三个里程碑:创建共享目录,进行权限设定

  mkdir /data -p

  chown -R nfsnobody.nfsnobody /data

说明:

NFS共享目录管理用户为nfsnobody,此用户不用创建,安装nfs软件时会自动创建

/etc/init.d/rpcbind start

[root@client ~]# cat /var/lib/nfs/etab 
/aa10.35.89.0/26(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)

2.2.4 第四个里程碑:启动服务(注意顺序)

  首先,启动rpc服务

/etc/init.d/rpcbind start

  其次,启动nfs服务

/etc/init.d/nfs start

  rpcbind服务启动信息查看

  [root@nfs01 ~]# ps -ef|grep rpcbind

  rpc        4050      1  0 10:55 ?        00:00:00 rpcbind

  root      4054  3878  0 10:55 pts/1    00:00:00 grep –color=auto
rpcbind

  [root@nfs01 ~]# netstat -lntup|grep 111

  tcp        0      0 0.0.0.0:111                0.0.0.0:*             
    LISTEN      4050/rpcbind       

  tcp        0      0 :::111                      :::*                 
      LISTEN      4050/rpcbind       

  udp        0      0 0.0.0.0:111                 0.0.0.0:*           
                  4050/rpcbind       

  udp        0      0 :::111                      :::*                 
                  4050/rpcbind       

  [root@nfs01 ~]# rpcinfo -p localhost

  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

  nfs启动后查看信息

[root@nfs01 ~]# rpcinfo -p localhost

  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  28467  status

    100024    1  tcp  56269  status

    100011    1  udp    875  rquotad

    100011    2  udp    875  rquotad

    100011    1  tcp   875  rquotad

    100011    2  tcp    875  rquotad

    100005    1  udp  32886  mountd

    100005    1  tcp  6154  mountd

    100005    2  udp  38339  mountd

    100005    2  tcp  60288  mountd

    100005    3  udp  49824  mountd

    100005    3  tcp  24427  mountd

    100003    2  tcp  2049  nfs

    100003    3  tcp  2049  nfs

    100003    4  tcp  2049  nfs

    100227    2  tcp  2049  nfs_acl

    100227    3  tcp  2049  nfs_acl

    100003    2  udp  2049  nfs

    100003    3  udp  2049  nfs

    100003    4  udp  2049  nfs

    100227    2  udp  2049  nfs_acl

    100227    3  udp  2049  nfs_acl

    100021    1  udp  61803  nlockmgr

    100021    3  udp  61803  nlockmgr

    100021    4  udp  61803  nlockmgr

    100021    1  tcp  6064  nlockmgr

    100021    3  tcp  6064  nlockmgr

    100021    4  tcp  6064  nlockmgr

chkconfig rpcbind on

客户端默认使用的是nfsnobody的用户访问共享文件:
[root@client nfs]# touch aa
[root@client nfs]# ll
total 0
-rw-r–r–. 1 nfsnobody nfsnobody 0 Feb 11 10:05 aa

2.2.5 到此服务端部署配置完成

[root@nfs01 ~]# showmount -e 172.16.1.31

Export list for 172.16.1.31:

/data 172.16.1.0/24

/etc/init.d/nfs start

   
export的权限如果加上no_root_squash,则客户端使用root用户访问共享文件时,使用的是root用户

NFS服务开启后,默认的参数文件位置,注意:修改此文件,对nfs服务没有任何影响

[root@nfs01 ~]# cat /var/lib/nfs/etab 
/data    172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,all_squash)

 

chkconfig nfs on

二、配置samba服务

2.3 NFS 客户端部署

/etc/init.d/nfslock start
该服务为可选服务用以在多人单文件情况下保持文件的一致性。

samba用于类unix和windows之间的文件共享

2.3.1 第一个里程碑:确认软件有没有安装,进行nfs rpc 服务软件安装部署

yum install rpcbind nfs-utils -y

chkconfig nfslock on

安装samba包:
[root@linuxidc ~]# yum install samba -y

2.3.2 第二个里程碑:启动服务

提示:

rpcbind和nfs软件都可以不启动

如果启动没有问题则观察启动的端口:

    samba的2个服务:

2.3.3 第三个里程碑: 检查NFS服务端是否有可以进行挂载的目录

[root@nfs01 ~]# rpm -qf `which showmount`

nfs-utils-1.2.3-75.el6.x86_64

说明:showmount使用,需要安装nfs-utils软件

[root@linux ~]# netstat -tulnp | grep -E ‘(rpc|nfs)’

        1、smb:端口TCP139和445

2.3.4 第四个里程碑:进程nfs客户端挂载

mount -t nfs 172.16.1.31:/data /mnt

 

[root@backup ~]# showmount -e 172.16.1.31

Export list for 172.16.1.31:

/data 172.16.1.0/24

[root@backup ~]# mount -t nfs 172.16.1.31:/data /mnt

说明: 如果nfs软件不安装

        a 无法使用showmount
命令

        b 客户端无法识别nfs
文件系统类型

tcp        0      0 0.0.0.0:875                
0.0.0.0:*                   LISTEN      4472/rpc.rquotad   

        2、nmb::用于windows的netbios协议 使用udp137和138

2.3.5 第五个里程碑: 进行检查测试

[root@backup ~]# df -h

Filesystem        Size  Used Avail Use% Mounted on

/dev/sda3          19G  1.5G  17G  9% /

tmpfs              238M    0  238M  0% /dev/shm

/dev/sda1          190M  40M  141M  22% /boot

172.16.1.31:/data  19G  1.5G  17G  9% /mnt

【测试】本地nfs客户端 进行增删改数据 等价于 nfs服务端共享目录操作

[root@backup mnt]# echo “test123”>test.txt

[root@backup mnt]# ll test.txt

-rw-r–r– 1 nfsnobody nfsnobody 8 Oct 13 11:28 test.txt

[root@nfs01 data]# cat test.txt

test123

tcp        0      0 0.0.0.0:111                
0.0.0.0:*                   LISTEN      4395/rpcbind       

防火墙添加samba服务:

第3章 知识深入

tcp        0      0 0.0.0.0:47893              
0.0.0.0:*                   LISTEN      4594/rpc.statd     

[root@linuxidc ~]# firewall-cmd –add-service=samba –permanent

3.1 NFS服务相关进程信息

tcp        0      0 0.0.0.0:35871              
0.0.0.0:*                   LISTEN      4488/rpc.mountd    

编辑/etc/samba/smb.conf配置文件:

3.1.1 简略说明

rpcbind        rpc启动进程 主进程

rpc state     检查数据存储的一致性

rpc.rquotad    磁盘配额

rpc.mountd    权限管理验证

nfsd            NFS主进程

rpc.idmapd    用户压缩映射

tcp        0      0 :::111                      :::*          
             LISTEN      4395/rpcbind       

主要 参数:

3.1.1 进程/服务 详细说明

服务或进程名

用途说明

portmapper

rpcbind服务的进程(centos5.x 上为 portmap软件)

rquotad

磁盘配额进程

nfs、nfs_acl

  nfs服务进程

nfsd (rpc.nfsd )

rpc.nfsd的主要功能是管理NFS客户端是否能够登入NFS服务器端主机,其中还包括含登入者的ID判別等。

mountd

rpc.mountd的主要功能则是管理NFS文件系统。当NFS客户端顺利通过rpc.nfsd登入NFS服务器端主机时,在使用NFS服务器提供数据之前,它会去读NFS的配置文件/etc/exports来比对NFS客户端的权限,通过这一关之后,还要经过NFS服务器端本地文件系统使用权限(就是owner、group、other权限)等认证程序。如果都通过了,NFS客户端就可以取得使用NFS服务器端文件的权限。

注意:这个/etc/exports文件也是我们用来管理NFS共享目录的使用权限与安全设置的地方,特别强调,NFS本身设置的是网络共享权限,整个共享目录的权限还和目录自身的系统权限有关。

rpc.lockd (非必要)

用来锁定文件,用于多客户端同时写入

rpc.statd (非必要)

检查文件的一致性,与rpc.lockd有关。c、d两个服务雲要客户端,服务器端同时开启才可以;rpc.statd监听来自其他主机重启的通知,并且管理当本地系统重启时主机列表。

rpc.idmapd

表示用户映射或用户压缩(重要

 

tcp        0      0 :::52789                   
:::*                        LISTEN      4594/rpc.statd     

全局参数: 

3.2 /etc/exports配置文件说明

udp        0      0 0.0.0.0:875                
0.0.0.0:*                               4472/rpc.rquotad   

                workgroup = WORKGROUP
                hosts allow = 127. 192.168.12. 192.168.13

3.2.1 /etc/exports文件说明

□ NFS共享目录:

为 NFS服务器端要共享的实际目录,要用绝对路径,如
(/data )。注意共享目录的本地权限,如果需要读写共享,一定要让本地目录可以被
NFS客户端的用户
(nfsnobody)读写。

□ NFS客户端地址:

为NFS服务器端授权的可访问共享目录的NFS客户端地址,可以为单独的IP地址或主机名、域名等,也可以为整个网段地址。还可以用来匹配所有客户端服务器,这里所谓的客户端一般来说是前端的业务的业务服务器,例如:web服务。

□权限参数集

对授权的NFS客户端的访问权限设置。

nfs权限(共享目录\借给你手机)nfs配置的/ etc/exports
/data 172.16.1.0/24(rw)

本地文件系统权限(\手机密码不告诉你)挂载目录的权限rwxr-
xr-x root root/data

udp        0      0 0.0.0.0:111                
0.0.0.0:*                               4395/rpcbind       

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

3.2.2 指定 NFS客户端地址的配置详细说明 

客户端地址           

具体地址       

授权单一客户端访问NFS

10.0.0.30

一般情况,生产环境中此配置不多

授权整个网段可访问NFS

10.0.0.0/24

其中的24等同于255.255.255.0 ,指定网段为生产环境中最常见的配置。配置简单,维护方便

授权整个网段可访问NFS

10.0.0.*

指定网段的另外写法(不推荐使用)

授权某个域名客户端访问

nfs.oldboyedu.com

此方法生产环境中一般情况不常用

授权整个域名客户端访问

*.oldboyedu.com

此方法生产环境中一般情况不常用

udp        0      0 0.0.0.0:754                
0.0.0.0:*                               4395/rpcbind       

                security = user

3.2.3 常见案例

常用格式说明

要共享的目录客户端IP地址或IP段(参1,参2,)

配罝例一

/data10.0.0.0/24(ro,sync)

说明:允许客户端读写,并且数据同步写入到服务器揣的磁盘里

注意:24和"("之间不能有空格

配置例二

/data10.0.0.0/24(rw,sync/all_squash,anonuid=2000,anongid=2000)

说明:允许客户揣读写,并且数据同步写到服务器揣的磁盘里,并且指走客户端

的用户UID和GID,早期生产环境的一种配罝,适合多客户端共享一个NFS服务

单目录,如果所有服务器的nfsnobody账户UID都是65534,则本例没什么必

要了.早期centos5.5的系统默认情况下nfsnobody的UID不一定是65534,

此时如果这些服务器共享一个NFS目录,就会出现访问权限问题.

配置例三

/home/oldboy10.0.0.0/24(ro)

说明:只读共享

用途:例如在生产环境中,开发人员有查看生产眼务器日志的需求,但又不希罜

给开发生产服务器的权限,那么就可以给开发提供从某个测试服务器NFS客户端

上查看某个生产服务器的日志目录(NFS共享)的权限,当然这不是唯一的方法,

例如可以把程序记录的日志发送到测试服务器供开发查看或者通过收集日志等其

它方式展现

udp        0      0 0.0.0.0:38690              
0.0.0.0:*                               4594/rpc.statd     

            config file = /etc/samba/smb.conf.%U 
为每个用户单独设置访问权限

3.2.4 nfs客户端访问服务原理

 

udp        0      0 0.0.0.0:50226              
0.0.0.0:*                               4488/rpc.mountd    

共享配置:

3.2.5 nfs服务访问原理

 

客户端(无论用什么用户访问)—门—服务端(nfsnobody) rpc.idmapd

 

udp        0      0 0.0.0.0:954                 0.0.0.0:*          
                    4594/rpc.statd     

      [public]
          comment = Public Stuff
          path = /home/samba
          public = yes
          writable = yes(是否隐藏)
          printable = no
          write list = +staff (+或@代表是组)
        hosts allow = 10.35.89.30

3.3 NFS服务端设置rpcbind nfs服务开机自启动

[root@nfs01 ~]#  chkconfig rpcbind on

[root@nfs01 ~]#  chkconfig nfs  on

[root@nfs01 ~]#  chkconfig |egrep “rpcbinf|nfs”

nfs            0:off  1:off  2:on 
3:on  4:on  5:on  6:off

nfslock         0:off  1:off  2:off 
3:on  4:on  5:on  6:off

 

udp        0      0 :::111                     
:::*                                    4395/rpcbind       

使用smbpasswd命令添加samba用户,添加的用户必须是系统已经存在的的用户,使用smbpasswd命令需先安装samba-client包:
[root@linuxidc ~]# smbpasswd -a
RedHat

3.4 NFS配置文件编写说明

udp        0      0 :::754                     
:::*                                    4395/rpcbind        

使用pdbedit命令查看samba用户列表:
[root@linuxidc ~]# pdbedit -L
redhat:1000:redhat

3.4.1 官方举例配置

EXAMPLE

      # sample /etc/exports file

      /              master(rw) trusty(rw,no_root_squash)

      /projects      proj*.local.domain(rw)

      /usr            *.local.domain(ro) @trusted(rw)

      /home/joe      pc001(rw,all_squash,anonuid=150,anongid=100)

      /pub            *(ro,insecure,all_squash)

      /srv/www        -sync,rw server @trusted @external(ro)

      /foo            2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)

      /build          buildhost[0-9].local.domain(rw)

udp        0      0 :::37546                   
:::*                                    4594/rpc.statd     

使用smbclinet在linux系统访问samba共享文件:
[root@client nfs]# smbclient -L //10.35.89.32

3.4.2 /etc/exports文件配置格式为:

    NFS共享目录
NFS客户端地址1(参数1,参数2,…) 客户端地址2(参数1,参数2,…)

    或

    NFS共享目录
NFS客户端地址1(参数1,参数2,…)

    NFS共享目录
NFS客户端地址2(参数1,参数2,…)

注意:nfs服务默认没有认证机制,安全性不如分布式文件系统

      只能通过控制配置文件中网络地址信息,实现安全性

使用rpcinfo命令查看本机RPC服务的注册情况。

连接smb共享服务:

3.5 nfs配置参数说明

 

参数

说明

rw

可读写的权限

ro 

只读的权限

no_root_squash

登入NFS主机,使用该共享目录时相当于该目录的拥有者,如果是root的话,那么对于这个共享的目录来说,他就具有root的权限,这个参数『极不安全』,不建议使用

root_squash

登入NFS主机,使用该共享目录时相当于该目录的拥有者。但是如果是以root身份使用这个共享目录的时候,那么这个使用者(root)的权限将被压缩成为匿名使用者,即通常他的UID与GID都会变成nobody那个身份

all_squash

不论登入NFS的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是nobody

anonuid

可以自行设定这个UID的值,这个UID必需要存在于你的/etc/passwd当中

anongid

同anonuid,但是变成groupID就是了

sync

资料同步写入到内存与硬盘当中

async

资料会先暂存于内存当中,而非直接写入硬盘

insecure

允许从这台机器过来的非授权访问

[root@linux ~]# rpcinfo -p localhost

[root@client nfs]# smbclient  //10.35.89.32 -U redhat%redhat

3.6 nfs配置参数实践

   program vers proto   port service

使用multuser多用户实现多用户权限的设置:

3.6.1 all_squash 参数实践

服务端修改配置

[root@nfs01 ~]# vim /etc/exports

#share 20171013 hzs

/data 172.16.1.0/24(rw,sync,all_squash)

[root@nfs01 ~]# /etc/init.d/nfs reload

         配置修改需要平滑重启nfs
服务

         reload  
平滑重启

         用户的访问体验更好

nfs客户端进行测试

[root@backup mnt]# touch
test.txt

[root@backup mnt]# ll

-rw-r–r– 1 nfsnobody nfsnobody    8 Oct 13 11:28 test.txt

[root@backup ~]# su – oldboy

[oldboy@backup ~]$ cd /mnt/

[oldboy@backup mnt]$ touch
oldboy1.txt

[oldboy@backup mnt]$ ll

-rw-rw-r– 1 nfsnobody nfsnobody   
0 Oct 13 12:34 oldboy1.txt

-rw-r–r– 1 nfsnobody nfsnobody   
8 Oct 13 11:28 test.txt

说明:

不论登入NFS的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是nobody

    100000    4   tcp    111 portmapper

安装cifs包:

3.6.2 no_all_squash,root_squash 参数实践

服务端修改配置

[root@nfs01 ~]# vim /etc/exports

#share 20171013 hzs

/data 172.16.1.0/24(rw,sync,no_all_squash,root_squash)

[root@nfs01 ~]# /etc/init.d/nfs
reload

 

客户端卸载重新挂载(服务器配置修改后客户端要重新挂载

[root@backup ~]# umount /mnt/

[root@backup ~]# mount -t nfs 172.16.1.31:/data /mnt

nfs客户端测试结果:

[root@backup mnt]# touch test1.txt

[root@backup mnt]# ll

-rw-r–r– 1 nfsnobody nfsnobody    0 Oct 13 12:37 test1.txt

[root@backup mnt]# su – oldboy

[oldboy@backup ~]$ cd /mnt/

[oldboy@backup mnt]$ touch oldboy1.txt

touch: cannot touch `oldboy1.txt’:
Permission denied

[oldboy@backup mnt]$ touch oldboy2.txt

touch: cannot touch `oldboy2.txt’: Permission denied

服务端验证:

[root@nfs01 ~]# ll /data/

-rw-rw-r– 1 nfsnobody nfsnobody    0 Oct 13 12:34 oldboy1.txt

-rw-r–r– 1 nfsnobody nfsnobody    0 Oct 13 12:37 test1.txt

-rw-r–r– 1 nfsnobody nfsnobody    8 Oct 13 11:28 test.txt

说明:

no_all_squash,是所有用户都不进行压缩,所以oldboy用户对nfs的目录没有写入的权限(与nfs服务器的共享目录权限有关)。root用户进行压缩所以可以写入。

    100000    3   tcp    111 portmapper

[root@client /]# yum install cifs-utils.x86_64 -y

3.6.3 no_root_squash 参数实践(root用户不进行压缩映射)

服务端修改配置

[root@nfs01 ~]# vim /etc/exports

#share 20171013 hzs

/data 172.16.1.0/24(rw,sync,no_root_squash)

[root@nfs01 ~]# /etc/init.d/nfs
reload

客户端卸载重新挂载(服务器配置修改后客户端要重新挂载

[root@backup ~]# umount /mnt/

[root@backup ~]# mount -t nfs 172.16.1.31:/data /mnt

nfs客户端测试结果:

[root@backup mnt]# touch
root.txt

[root@backup mnt]# ll

total 16

-rw-rw-r– 1 nfsnobody nfsnobody    0 Oct 13 12:34 oldboy1.txt

-rw-r–r– 1 root      root        0 Oct
13 12:45 root.txt

-rw-r–r– 1 nfsnobody nfsnobody    0 Oct 13 12:37 test1.txt

-rw-r–r– 1 nfsnobody nfsnobody    8 Oct 13 11:28 test.txt

删除测试

[root@backup mnt]# rm -rf ./*

[root@backup mnt]# ll

total 0

说明:

由于对root用户没有进行压缩,所以到达nfs服务器后依旧是root身份,root用户默认对所有的文件都有权限,所以可以写入。(很危险)

本文使用的系统版本为: CentOS Linux release
7.4.1708 (Core) 内核版本为: 3.10.0-693.el7.x86_64

CentOS 7下NFS实例笔记
http://www.linuxidc.com/Linux/2016-12/138708.htm

Linux下NFS搭建步骤
http://www.linuxidc.com/Linux/2016-08/134022.htm

NFS文件系统详解 
http://www.linuxidc.com/Linux/2016-06/131940.htm

基于LAMP平台利用NFS远程共享资源实现站点构建 
http://www.linuxidc.com/Linux/2016-07/133510.htm

Linux NFS服务器的安装与配置详解
http://www.linuxidc.com/Linux/2017-01/139886.htm

CentOS 7.2中NFS1.3 安装
http://www.linuxidc.com/Linux/2016-10/135970.htm

NFS网络文件共享存储服务器 
http://www.linuxidc.com/Linux/2017-06/145030.htm

Ubuntu
14.04安装配置NFS服务器
http://www.linuxidc.com/Linux/2016-04/129848.htm

Linux的NFS配置 
http://www.linuxidc.com/Linux/2017-04/143135.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149493.htm

网赌十大信誉的平台 6

    100000    2   tcp    111 portmapper

挂载共享文件:

    100000    4   udp    111 portmapper

服务器端共享配置“

    100000    3   udp    111 portmapper

[bb]
331        comment= bb share
332        path = /bb
333        writable = no
334        write list = tom

    100000    2   udp    111 portmapper

客户端挂载:

    100011    1   udp    875 rquotad

 [root@client /]# mount -o
multiuser,username=redhat,password=redhat,sec=ntlmssp //10.35.89.32/bb 
/cc

    100011    2   udp    875 rquotad

客户端使用除root之外的其他用户对共享的文件没有相关的读写权限:

    100011    1   tcp    875 rquotad

[tom@client cc]$ ls
ls: reading directory .: Permission denied

    100011    2   tcp    875 rquotad

获取服务器端用户的权限:

    100003    2   tcp   2049 nfs

[tom@client ~]$ cifscreds add 10.35.89.32 -u tom

    100003    3   tcp   2049 nfs

此时再访问共享文件夹,具有了读写权限:
[tom@client cc]$ ls
aa  bb  cc  nfs

    100003    4   tcp   2049 nfs

       

    100227    2   tcp   2049 nfs_acl

        客户端设置开机自动挂载,编辑fstab:

   100227    3   tcp   2049 nfs_acl

//10.35.89.32/bb        /cc    cifs   
multiuser,username=redhat,passwd=redhat,sec=ntlmssp 0 0

    100003    2   udp   2049 nfs

 

    100003    3   udp   2049 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

    100003    4   udp   2049 nfs

————————————–分割线

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

网赌十大信誉的平台 7

    100227    2   udp   2049 nfs_acl

    100227    3   udp   2049 nfs_acl

    100021    1   udp 46092 nlockmgr

    100021    3   udp 46092 nlockmgr

    100021    4   udp 46092 nlockmgr

    100021    1   tcp 58577 nlockmgr

    100021    3   tcp 58577 nlockmgr

    100021    4   tcp 58577 nlockmgr

    100005    1   udp 50226 mountd

    100005    1   tcp 35871 mountd

    100005    2   udp 50226 mountd

    100005    2   tcp 35871 mountd

    100005    3   udp 50226 mountd

    100005    3   tcp 35871 mountd

    100024    1   udp 38690 status

    100024    1   tcp 47893 status

固定NFS服务相关端口

由于NFS服务会随机启用端口,这使得我们无法制定相关防火墙规则,所以要先固定相关端口。

vi /etc/sysconfig/nfs

#RQUOTAD_PORT=875

#LOCKD_TCPPORT=32803

#LOCKD_UDPPORT=32769

#MOUNTD_PORT=892

找到以上四行,然后将“#”号去掉。

重启NFS服务。

[root@linux ~]# /etc/init.d/nfs restart

关闭 NFS mountd:[确定]

关闭 NFS 守护进程:[确定]

关闭 NFS quotas:[确定]

启动 NFS 服务: [确定]

关掉 NFS 配额:[确定]

启动 NFS 守护进程:[确定]

启动 NFS mountd:[确定]

再次查看本机nfs端口情况。

[root@linux ~]# rpcinfo -p localhost

   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 38690 status

    100024    1   tcp 47893 status

    100011    1   udp    875 rquotad

    100011    2   udp    875 rquotad

    100011    1   tcp    875 rquotad

    100011    2   tcp    875 rquotad

    100003    2   tcp   2049 nfs

    100003    3   tcp   2049 nfs

    100003    4   tcp   2049 nfs

   100227    2   tcp   2049 nfs_acl

    100227    3   tcp   2049 nfs_acl

    100003    2   udp   2049 nfs

    100003    3   udp   2049 nfs

    100003    4   udp   2049 nfs

    100227    2   udp   2049 nfs_acl

    100227    3   udp   2049 nfs_acl

    100021    1   udp 32769 nlockmgr

    100021    3   udp 32769 nlockmgr

    100021    4   udp 32769 nlockmgr

    100021    1   tcp 32803 nlockmgr

    100021    3   tcp 32803 nlockmgr

    100021    4   tcp 32803 nlockmgr

    100005    1   udp    892 mountd

    100005    1   tcp    892 mountd

    100005    2   udp    892 mountd

    100005    2   tcp    892 mountd

    100005    3   udp    892 mountd

100005    3   tcp    892 mountd

 

编写防火墙规则。

[root@linux ~]# vi /etc/sysconfig/iptables

-A INPUT -p tcp -m tcp –dport 111      -j ACCEPT

-A INPUT -p udp -m udp –dport 111      -j ACCEPT

-A INPUT -p tcp -m tcp –dport 2049     -j ACCEPT

-A INPUT -p udp -m udp –dport 2049     -j ACCEPT

-A INPUT -p tcp -m tcp –dport 875      -j ACCEPT

-A INPUT -p udp -m udp –dport 875      -j ACCEPT

-A INPUT -p tcp -m tcp –dport 892      -j ACCEPT

-A INPUT -p udp -m udp –dport 892      -j ACCEPT

-A INPUT -p udp -m udp –dport 32769    -j ACCEPT

-A INPUT -p tcp -m tcp –dport 32803    -j ACCEPT

[root@linux ~]# /etc/init.d/iptables restart

iptables:清除防火墙规则:[确定]

iptables:将链设置为政策 ACCEPT:filter [确定]

iptables:正在卸载模块:[确定]

iptables:应用防火墙规则:[确定]

编辑NFS配置文件。

建立/redhat目录,
仅允许tanhq.com域对该目录有读写权限且若登录用户为root则具有root权限,
其他用户仅有只读权限。

[root@linux ~]# mkdir -p /redhat

[root@linux ~]# vi /etc/exports

/redhat tanhq.com(rw,sync,no_root_squash) *(ro)

[root@linux ~]# /etc/init.d/nfs restart

关闭 NFS mountd:[确定]

关闭 NFS 守护进程:[确定]

关闭 NFS quotas:[确定]

启动 NFS 服务: [确定]

关掉 NFS 配额:[确定]

启动 NFS 守护进程:[确定]

启动 NFS mountd:[确定]

在客户端测试。

首先客户端与服务器端都要安装并启动RPC服务。

[root@client ~]# yum install rpcbind –y

[root@client ~]# /etc/init.d/rpcbind start

Starting rpcbind: [ OK ]

使用rpcinfo查看是否可以连接到服务器的nfs服务。

[root@client ~]# rpcinfo -p 192.168.0.1

   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 38690 status

    100024   1   tcp 47893 status

    100011    1   udp    875 rquotad

    100011    2   udp    875 rquotad

    100011    1   tcp    875 rquotad

    100011    2   tcp    875 rquotad

    100003    2   tcp   2049 nfs

    100003    3   tcp   2049 nfs

    100003    4   tcp   2049 nfs

    100227    2   tcp   2049 nfs_acl

    100227    3   tcp   2049 nfs_acl

    100003    2   udp   2049 nfs

    100003    3   udp   2049 nfs

    100003    4   udp   2049 nfs

    100227    2   udp   2049 nfs_acl

    100227    3   udp   2049 nfs_acl

    100021    1   udp 32769 nlockmgr

    100021    3   udp 32769 nlockmgr

    100021    4   udp 32769 nlockmgr

    100021    1   tcp 32803 nlockmgr

    100021    3   tcp 32803 nlockmgr

    100021    4   tcp 32803 nlockmgr

    100005    1   udp    892 mountd

    100005    1   tcp    892 mountd

    100005    2   udp    892 mountd

    100005    2   tcp    892 mountd

    100005    3   udp    892 mountd

    100005    3   tcp    892 mountd

连接正常。

查看挂载目录。nfslock功能客户端与服务器端都需同时启动才可使用。所以再客户端也要安装nfs-utils。

[root@client ~]# yum install nfs-utils -y

[root@client ~]# /etc/init.d/nfs start

Starting NFS services: [ OK ]

Starting NFS quotas: [ OK ]

Starting NFS daemon: [ OK ]

Starting NFS mountd: [ OK ]

Starting RPC idmapd: [ OK ]

[root@client ~]# /etc/init.d/nfslock start

Starting NFS statd: [ OK ]

[root@client ~]# showmount -e 192.168.0.1

Export list for 192.168.0.1:

/redhat (everyone)

在客户端挂载nfs服务器目录。

[root@client~]#mount –t nfs –o
nosuid,noexec,nodev,rw,bg,soft,rsize=32768,wsize=32768

含义:取消suid功能,挂载分区仅为数据分区,没有执行二级制文件的权限,不保留设备文件的特殊功能,可读写,执行挂载时该挂载行为在后台进行,RPC在超时后重复呼叫,但非持续呼叫。读出和写入区块大小为32768(bytes)。

查看是否成功挂载:

[root@client ~]# df -h

Filesystem            Size Used Avail Use% Mounted on

/dev/sda2             8.6G 2.4G 5.8G 29% /

tmpfs                 244M   24K 244M   1% /dev/shm

/dev/sda1             291M   30M 246M 11% /boot

/dev/sr0              3.2G 3.2G     0 100% /media/RHEL_6.0 x86_64 Disc
1

192.168.0.1:/redhat    20G 5.8G   13G 31% /mnt/nfs

 

autofs自动挂载

NFS服务器与客户端之间的网络连接可能会断线,任何一方脱机都会造成对方等待超时,NFS服务器上得资源可能不会经常使用,为了能够在有需要时才挂载NFS目录,就要使用autofs自动挂载。在客户端不是有NFS时,目录会被自动卸载。

先卸载之前的手动挂载。

umount -t nfs 192.168.0.1:/redhat

安装并启动autofs服务。

[root@client ~]# yum install autofs –y

[root@client ~]# /etc/init.d/autofs start

Loading autofs4: [ OK ]

Starting automount: [ OK ]

配置autofs自动挂载

[root@client ~]# vi /etc/auto.master

/nfsfile /etc/auto.nfs

autofs会主动建立/nfsfile目录。如果事先建立该目录可能会出现问题。/etc/auto.nfs这个数据对应文件是不存在的,我们要自行建立,然后再这个文件中指定要挂载的服务器端目录。

[root@client ~]# vi /etc/auto.nfs

redhat -rw,bg,soft,rsize=32768,wsize=32768 192.168.0.1:/redhat

重启autofs服务后,会建立/nfsfile/redhat目录。

[root@client ~]# /etc/init.d/autofs stop

Stopping automount: [ OK ]

[root@client ~]# /etc/init.d/autofs start

Starting automount: [ OK ]

/nfsfile目录已经被主动建立

[root@client ~]# ll -d /nfsfile

drwxr-xr-x. 2 root root 0 Nov 17 12:46 /nfsfile

查看是否自动挂载。

[root@client ~]# cd /nfsfile/redhat

[root@client redhat]# mount | grep addr

192.168.0.1:/redhat on /nfsfile/redhat type nfs
(rw,soft,rsize=32768,wsize=32768,sloppy,vers=4,addr=192.168.0.1,clientaddr=192.168.0.2)

[网赌十大信誉的平台,root@client redhat]# df -h

Filesystem            Size Used Avail Use% Mounted on

/dev/sda2             8.6G 2.4G 5.8G 29% /

tmpfs                 244M   24K 244M   1% /dev/shm

/dev/sda1             291M   30M 246M 11% /boot

/dev/sr0              3.2G 3.2G     0 100% /media/RHEL_6.0 x86_64 Disc
1

192.168.0.1:/redhat    20G 5.8G   13G 31% /nfsfile/redhat

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注