NFS锁服务器:让文件共享更安全和可靠 (nfs 锁服务器)

随着计算机网络的发展,文件共享已经成为了一个重要的功能。文件共享可以为不同的用户提供便利,比如一家公司的员工可以通过网络共享文件,以便快速和高效的完成工作。同时,文件共享也存在一些问题,比如文件的修改可能会出现不同步等情况。这些问题可能会导致数据的损坏,甚至是丢失。因此,如何实现文件共享的安全和可靠是一个非常重要的问题。

在这个问题上,NFS锁服务器可以发挥很好的作用。NFS锁服务器是一种用于NFS共享的锁管理系统,它可以帮助用户实现文件共享的安全和可靠。

NFS锁服务器可以帮助用户防止不同步。当多个用户同时修改同一个文件时,NFS锁服务器可以通过锁定机制,使得只有一个用户可以改变该文件。这样,就可以有效的避免不同步的现象。此外,NFS锁服务器还可以检测文件的修改和读取权限,帮助用户快速了解文件的状态和所有权。

NFS锁服务器还可以保护文件的安全。在文件共享过程中,有可能会出现非法访问的现象。为了防止这种情况的出现,NFS锁服务器提供了一些安全措施。比如,NFS锁服务器可以支持用户认证和权限控制。用户登录后,只能访问其有权限的文件。此外,NFS锁服务器还支持数据加密,使得用户的数据更加安全。

除了上述功能之外,NFS锁服务器还有一些其他的优点。一方面,它可以提高文件共享的效率,同时还可以避免死锁等问题。另一方面,它可以使得文件共享更加简单易用,减少用户的管理工作。

NFS锁服务器是一个非常有用的系统,在文件共享中扮演着重要的角色。它可以帮助用户实现文件共享的安全和可靠,并提高文件共享的效率。因此,对于那些需要进行文件共享的企业和个人来说,NFS锁服务器是一个非常值得考虑的解决方案。

相关问题拓展阅读:

NFS服务有什么优缺点呢?linux应用基础入门

NFS服务可以让不同的客户端挂载使用一个共享目录,在集群架构环境中经常会用到。那么在Linux运维工作中,NFS服务有什么优缺点呢?

  优点有什么呢?

  1)简单、容易上手和掌握

  2)NFS文件系统内数据可见的

  3)部署快速,维护简单方便且可控满足需求就是更好的

  4)可靠,数据性高、经久耐用

  5)服务稳定

  局限又是什么?

  1)存在单点故障,如果NFS Server宕机了,所有客户端就不能访问共享目录了

  2)在大数据高并发的情况下,NFS效率、性能是有限的

  3)客户端认证是基于IP和衡迅主机名的,权限要根据ID识别,安全性一般(用于内网则问题不消拦氏大)

  4)NFS数据是明文的,NFS本身不对局完整性做验证

  5)多台客户机器挂载一个拿散NFS服务器时,连接管理维护麻烦。NFS服务端出问题后,所有NFS客户端都处于挂掉状态

  以上便是“NFS服务有什么优缺点?”的相关介绍。

nfs是什么

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

NFS体系至少有两个主要部分:前闹

一台NFS服务器和若干台客户机。

客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。

在NFS服务器正式启用前,需要根据数悔简实际环境和需求,配置一些NFS参数。

扩展资料:

NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制薯裤,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。

RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。

参考资料来源:

百度百科-网络文件系统

参考资料来源:

百度百科-NFS

NFS 是由SUN公司发展, 并於1984年推出, NFS是一个RPC service ,它使我们能够达到档案的共享, 它的设计是为了在不同的系统间使用, 所以它的通讯协定消消设计与主机及作业系统无关.当使用者想用远端档案时只要用”mount”就可把remote档案系统挂接在自己的档案系统之下,使得远端的档案使用上和local机器的档案没两样.

machine Amachine B

/ /

bin etc usr bin etc usr

manman share local

假如我们在机器A上, 要把机器B上的 /usr/man 挂接到machine A 的/usr/man只要下

mount machine_name:/usr/man /usr/home

就可mount过来.而我们不只是可以mount目录,就是一个档也是可以的.在挂接之后拦颤我们只能对档案做reading (or writing) 的动作,而不能在remote machie上把此档或目录move,delete掉 , 但须注意的是如我们 mount /usr 后 , 不能再mount /usr底下的目录, 否则会发生错误

□ Servers & Clients

NFS就是促使Servers上的档案能被其他的机器mount,而达到资源共享,享用这些档案的机器就可称为Client,一个client可以从server上mount一个档或是一个层次的目录(file hierarchies) . 然而事实上任何一台机器都可以做NFS server or NFS client ,甚至同时为NFS server and NFS client 也可以.

□ Server”s Exporting & Client”s Mounting

NFS server 所export 出来的档案或目简桥败录都记录在 /etc/exports 这一个档中,当我们启动NFS server 时 在 /etc/rc.local 的这一个script会自动的启动 exportfs 这一个程式 , 搜寻 /etc/exports 这一个档是否存在, 并且赋予正确的权限给所有export出去的 file hierarchies .

但须注意的是,只有server所export出去的路径,NFS client才能够mount , 同样的当启动client时 , 系统会自动去mount所有server export的路径,而mount到的所有路径都会记录在 /etc/fstab 下 , 类似如下的fstab档

/dev/sd0a /.2 rw 1 1

/dev/sd0h /tmp 4.2 rw 1 3

/dev/sd0g /usr 4.2 rw 1 2

/dev/fd0 /pcfs pcfs rw,noauto 0 0

sparc20:/swap /swap nfs rw,intr,bg,soft 0 0

sparc17:/home /home nfs rw,intr,bg,soft 0 0

sparc17:/home3 /home3 nfs rw,intr,bg,soft 0 0

sparc14:/home4 /home4 nfs rw,intr,bg,soft 0 0

sparc20:/home2 /home2 nfs rw,intr,bg,soft 0 0

sparc20:/var/spool/mail /var/spool/mail nfs rw,intr,bg,soft 0 0

rs970:/home1 /home1 nfs rw,intr,bg,soft 0 0

★ Noted :

当client mount 到一个路径,绝对不是说copy server上的这一个路径到local的机器上,我们可以用 cd 进入这一个mount到的路径,就如同是使用local directory一样

□ Setting Up a NFS Server

. 定义机器为 NFS file server

. 划分server”s disk ,定义哪一些partitions 是要提供出来作为

client 所共享的file system

. 在 Client Form 上定义每一台client 的参数

. 写出 /etc/exports (一般系统都有一个default exports)

. 重新boot NFS server or 用指令 exportfs -a 输出所有的

directories 并且用 nfsd 8 & 启动 nfsd守护程式,常驻在背景

※ ps. 一些细节

. 检查 /etc/exports 输出路径的权限,确定只有root能修改,

all user只能read

. 用exportfs 去增加或删除directories

exportfs -o access=engineering,ro=dancer /usr

exportfs -u /usr

. 假如你的机器没有NIS(YP server)的服务,当更改资料时记得修改

/etc/passwd

/etc/group

/etc/hosts

/etc/ethers

. 为你自己的network 设置security

exportfs的语法

/usr/etc/exportfs

a : 把 /etc/exports 中所有路径export出去

u : 把 export出去的路径卸下 , 如 exportfs -u /usr

o option : 如 exportfs -o ro /usr ,所有人对/usr 都为read only

option 还有 root = hostname , access = client

access = netgroup

For example :

exportfs -a 把exports中的路径全部export出去

exportfs -o access=engineering:other /usr

/usr 这路径export后只有engineering and other 这两个

group 能够 read & write

exportfs -o access=oak,ro=dancer /usr

设定dancer 这台client 对 /usr 为read only ,且只有

oak这一个 group 能做read

/etc/exports 档的□例

● syntax : directoryoption

(设定两个group能rw)

/usraccess=engineering:accounting

/homeaccess=engineering:accounting

/var/spool/mail -access=engineering:accounting

/export/exec/sun -access=engineering:accounting

/export/exec/sun3.sunos.4.1 -access=engineering:accounting

/export/exec/kvm/sun3.sunos.4.1 -access=engineering:accounting

/export/root/birchaccess=birch,root=birch

/export/swap/birchaccess=birch,root=birch

/export/root/oakaccess=oak,root=oak

/export/swap/oakaccess=oak,root=oak

/export/root/willowaccess=willow,root=willow

/export/swap/willowaccess=willow,root=willow

/export/root/pineaccsee=pine,root=pine

/export/swap/pineaccsee=pine,root=pine

(access=client , root=hostname 如此只有这一台client的superuser有权力rw)

□ Setting Up a NFS Client

. 宣告机器为没有磁碟机或没有资料的Client,在使用SunInstall之前

. 编辑好 /etc/fstab 这一个档,确定要mount的路径都在fstab中

. 依照fstab所设的内容,在Client上设定好Mount points

(mount_points 就是用mkdir 设exports所输出的路径)

. 确定我们所要mount的路径,都有出现在 /etc/exports 中

. 可以启动mount去连结server上的directories ( mount -a )

/etc/fstab 档的□例

● syntax filesystem directory type options freq pass

oak:/export/root/boomer / nfs rw

^^^

因为档案在server上,not on client

所以client的设定为0

oak:/export/exec/sun/usr nfs ro

oak:/export/exec/kvm/sun/usr/kvm nfs ro

oak:/usr/share /usr/share nfs ro

oak:/home/oak/home/oak nfs rw,bg

§ mount 的语法

● syntax : mount -t type -o server:pathname /mount_point

MOUNT :

mount -a 把/etc/fstab 中所列的路径全部挂上

mount -o ro,soft,bg dancer:/usr/local /usr/local/dancer

把dancer server 的/usr/local mount 到 client的

/usr/local/dancer 并且是read only

t type : 你所要mount的型别, 如 nfs or 4.2

-r : 所mount的路径定为read only

-v : mount过程的每一个动作,都有messages 传回到萤幕上

hard : 重复要求,直到server回应为止,但如server一直不回应

the server may be down !

soft : 当client的请求得不到回应,retry one time 后 传回

error message

bg : 当之一次请求不成功,第二次的mount将放到背景执行

fg : retries mount 都一直在提示符号下进行

intr : 当正在进行 NFS 请求时,允许用键盘中断

mount 成功时的message

NFS server hostname ok

mount fail

NFS server hostname not responding, still trying

. . .hostname server not reponding: RPC: Timed out

§ UNMOUNT :

umount mount_point

umount -a 卸下所有已经mount上的路径

==========================================================================

◎ How NFS Work ?

当我们启动 NFS file server 时,/etc/rc.local 会自动启动exportfs这一个程式,指定可以export的档案或目录,而我们所能mount的也只能是其所指定的目录.

□ NFS 架设在 XDR/RPC的协定之上

XDR : (eXternal Data Representation) 外部资料表示法

XDR(eXternal Data Representation) 提供一种方法把资料从一种格式转换成另一种标准资料格式表示法,确保在不同的电脑,作业系统及电脑语言中,所有资料代表的意义都是相同的

RPC : (Remote Procedure Calls) 远端程序呼叫

RPC(Remote Procedure Calls) 远端程序呼叫, 请求远端电脑给予服务. 委托器(client)就会透过网路传送RPC到远端电脑,请求服务.

(一般 local machine : client remote machine : server )

□ NFS 如何运用 RPC 传送资料

客户端process 主服务端process

┌————┐ ┌—————┐

│ 客户端 │ │ 主服务站 │

│routines│ │ routines │

└—┬——┘ └┬————┘

本地程序呼叫 │ 《 │ 《

(1) │ │ (10)(6) │ │ (5)

》 │ 》 │

┌———┴┐ ┌————┴┐

│ 客户端 │ │ 主服务端 │

│ stub │ │ stub │

└—┬——┘ └┬————┘

系统呼叫│ 《 │ 《

(2) │ │ (9)(7) │ │ (4)

》 │ 》 │

┌———┴┐(8) ┌————┴┐

│network │ <——————┤ network │

│routines├——————> │ routines │

└————┘(3) └—————┘

本地系统核心 网路通讯 远端系统核心

(1) client 送出讯息,请求服务

(2) client stub (客户株) 把client 送出的参数转换成XDR—标准资料

格式并用系统呼叫(system call) 把讯息送到网路上

(3) 讯息经过网路送达远端主机系统

(4) 远端主机将接受到的讯息传给server stub (服务站株)

(5) 把XDR形式的资料,转换成符合主机端的格式,取出client发出的服务

请求参数,送给server

(6) — (10) 则是逆向而行 , server 送出服务给 client

□ rc.local 启动守护程式

一个NFS server 要 inet , portmap , nfs , mount 此四个守护程式,保持在背景执行的状态下才能运作. (if running NIS must add ypbind daemon)

◆ 当启动 NFS file server 时,

the /etc/rc.local script 会做如下的动作

. 执行exportfs , 读取server”s /etc/exports 告诉kernel

所要输出的file hierarchies 和 存取的权限

( exportfs -a )

. 启动 rpc.mountd daemon 和 nfsd daemon (通常是 8 个)

( rpc.mountd -n nfsd 8 & echo -n ”nfsd” )

◆ 当启动 NFS client 时

rc.local 会做如下的动作

. 启动 boid daemons 处理读写的程序

(biod 8 echo -n ” biod” )

. 执行 mount -vat nfs 读取client”s /etc/fstab 并且 mount 所

有属於 NFS-type 的files

□ NFS daemons (守护程式) 的功用

nfsd, biod, rpc.mountd, inetd, portmap 都可在/usr/etc 下找到

nfsd : 依client 对档案系统的需求情况, 而启动

” file system request daemon ”

应付client 的需求,而一般file system request daemon 的数目

是 ” 8 “, 这也就是我们在rc.local 中写 ” nfsd 8 & “的原因了

biod : 此指令是在NFS client上用的 , 用来启动

” asynchronous block I/O daemon”

用来建立buffer cache , 处理在client上的读写

mountd : mountd 是一台 RPC server ,启动rpc.mountd daemon后 它会读取

/etc/xtab 查看哪一台client正在mount 哪一个file system,并回

应client 所要mount 的路径

(mountd处理的过程可用 showmount 来看)

inetd : inetd (Internet services daemon) , 当系统启动时rc.local

会启动inetd 读取 inetd.conf 这一个 configuration-file ,

读取网路上所有 server”s address , 连结启动inetd.conf中所

有的server , 当client 请求服务时, inetd 就会为clinet 启动

相关的server daemon 负责任务, 如user 用 telnet 时 , 则

inetd 启动telnetd 迎合user telnet 的需求, 其馀像 ftp ,

finger , rlogin 之类的应用程式 , inetd 也都会启动相对应的

daemons, ftpd, fingerd, rloingd

portmap : portmap 是一台server , 主要功能 转换 TCP/IP 通讯协定的

port number 变成 RPC program number , 因为这样clinet才能

做RPC calls

一般 RPC server 是被inetd 所启动的, 所以portmap 必须

在inetd之前启动, 否则无法做 RPC call

□ NFS 的网路安全的

NFS 使server上的档案能被client所取用, 乍看之下好像server 上的档案任何人都可取用没什麽保护性, 其实不是如此的. 一开始server要 exportfs 之前在 /etc/exporrc 中就已经设定了档案的使用权限, 像

/usr/src -access=engineering:accounting

就是限定只有 rcgineering 和 accounting 这两台 client 才能 mount /usr/src

/usr/src -access=oak,root=oak

这是说只有 oak 这台 cilent 能 mount这一个路径 且只有 oak client”s

superuser 才能行使 read & write 的权力

另外管理者为了维护 exported 和 mounted 的安全, 一定要建立公共(public)和私人(secret)的 key(password), 然而这些安全性问题是要建立在 NIS (network infomation system) 上的, 有一个/etc/publickey档 ,里面记录了public and secret keys , 而这些key是依照 machine_name 和 user_name ,以16 进位码表示出来的, 管理者可在有NIS的机器上用

newkey -u username 给予user login 权力

newkey -h hostname 造出login 此机器时所需的password

在NFS刚安装时 user 是 “nobody” 任何人都可以进入, 所以管理者一定要做修改, 以保护资料的安全.

当使用者为 nobody 时 publickey 的内容

netname user”s public key : user”s secret key

nobody 3d91f44568fbbefada5a7:7675cd9b8753b5db09dabf12

在管理者给予user权力之后, user 就可使用 chkey 修改自己的secret key 创造自己的帐号路口,

willow% chkey

Generating new key for username

password :

Sending key change request to server …

Done.

willow%

所设定的password 是使用者位於 NIS 中的加密键 , 当我们login 时NIS 就会将此密码解开,(因为publickey中是以16进位码记录) , 存放到keyserv 里加以保管, 再将加密键传给client , 当client 发出请求时 ,此键会附在每个NFS 请求上一起送到 NFS server 上, 当加密键和server上所保存的keyserv核对无错后, 请求就会被接受

□ When fail to mount server

. 用 rpcinfo -p server_name 去查看此server是否存在

. 用 rpcinfo -u server_name mount 查看mountd daemon 是否有

在server上执行

. 假如server 都没问题,检查 server 和 client 之间的

Ethernet connetions

. 在client 上 用 ps ax 看portmap and several biod daemons

running or not !

(rpcinfo : 用来对 RPC server 做 RPC 呼叫,回传远端程序呼叫

过程中的讯息)

一些mount 失败的错误讯息

. /etc/mtab : No such file or directory

mtab 这一个路径或是档案必须存在,在mount之前

. mount : … Block device required

远端的机器名称可能打错了

. mount: … not found in /etc/fstab

fstab 一定要存在,client 上 /etc下

. … not in hosts database

/etc/hosts 没有这一个 hosts database , 或是

NIS 的daemon, ypbind 没有在执行

. Must be root to use mount

一般都只有 root 才能mount ,所以mount之前先成

为superuser

. Stale NFS file handle

当我们已经mount 上的file or directory ,在server

上突然被remove or unexport ,就会出现此讯息

fyx2023 回复于::53:55

写得很详尽嘛。。。

success_king 回复于::44:22

谢谢谢谢

pengtao_hlp 回复于::44:23

风兄。好贴。好文笔。。。不错。。多多向您学习!!

charley 回复于::44:07

写得好。

提个建议,在实际应用的直接使用mount连接NFS只适用于测试护着临时性的连接,正常使用应该采用autofs, 建议加入。

另外仁兄使用的命令是Solaris的命令么?

openview 回复于::01:52

写得好。

提个建议,在实际应用的直接使用mount连接NFS只适用于测试护着临时性的连接,正常使用应该采用autofs, 建议加入。

另外仁兄使用的命令是Solaris的命令么?

好像是linux上的东西。东西不错。

icebreak 回复于::02:47

很好,感觉好像是linux上的,不是solaris上面的。

ward_bao 回复于::08:21

那如果server是sun的,client是windows2023 or winxp的怎么办呢?也是用nfs吗?

…………..

另外,NFS是极品飞车的意思(游戏),哈哈

Network File System

NFS 是由SUN公司发展, 并於1984年推出, NFS是一个RPC service ,它使我们能够达到档案的共享, 它的设计是为了在不同的系统间使用, 所以它的通讯协定设计与主机及作业系统无关.当使用者想用远端档案时只要用”mount”就可把remote档案系统挂接在自己的档案系统之下,使得远端的档案使用上和local机器的档案没两样.

machine A machine B

/ /

bin etc usr bin etc usr

man man share local

假如我们在机器A上, 要把机器B上的 /usr/man 挂接到machine A 的/usr/man只要下mount machine_name:/usr/man /usr/home

就可mount过来.而我们不只是可以mount目录,就是一个档也是可以的.在挂接之后我们只能对档案做reading (or writing) 的动作,而不能在remote machie上把此档或目录move,delete掉 , 但须注意的是如我们mount /usr 后 , 不能再mount /usr底下的目录, 否则会发生错误

□ Servers & Clients

NFS就是促使Servers上的档案能被其他的机器mount,而达到资源共享,享用这些档案的机器就可称为Client,一个client可以从server上mount一个档或是一个层次的目录(file hierarchies) . 然而事实上任何一台机器都可以做NFS server or NFS client ,甚至同时为NFS server and NFS client 也可以.

□ Servers Exporting & Clients Mounting

NFS server 所export 出来的档案或目录都记录在 /etc/exports 这一个档中,当我们启动NFS server 时 在 /etc/rc.local 的这一个script会自动的启动 exportfs 这一个程式 , 搜寻 /握搜etc/exports 这一个档是否存在, 并且赋予正确的权限给所有export出去滚猜的 file hierarchies .

但须注意的是,只有server所export出去的路径,NFS client才能够mount, 同样的当启动client时 , 系统会自动去mount所有server export的路径,而mount到的所有路径都会记录在 /etc/fstab 下 , 类似如下的fstab档

/dev/sd0a / 4.2 rw 1 1

/dev/sd0h /tmp 4.2 rw 1 3

/dev/sd0g /usr 4.2 rw 1 2

/dev/fd0 /pcfs pcfs rw,noauto 0 0

sparc20:/swap /swap nfs rw,intr,bg,soft 0 0

sparc17:/home /home nfs rw,intr,bg,soft 0 0

sparc17:/home3 /home3 nfs rw,intr,bg,soft 0 0

sparc14:/home4 /home4 nfs rw,intr,bg,soft 0 0

sparc20:/home2 /home2 nfs rw,intr,bg,soft 0 0

sparc20:/var/段备历spool/mail /var/spool/mail nfs rw,intr,bg,soft 0 0

rs970:/home1 /home1 nfs rw,intr,bg,soft 0 0

★ Noted :

当client mount 到一个路径,绝对不是说copy server上的这一个路径到local的机器上,我们可以用 cd 进入这一个mount到的路径,就如同是使用local directory一样

□ Setting Up a NFS Server

1. 定义机器为 NFS file server

2. 划分servers disk ,定义哪一些partitions 是要提供出来作为

NFS(Network File System)即网络文件橘灶系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地丛首NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

NFS的好处:

①节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。渗伍数

②用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。

③一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。

NFS是网络文件系统,是主机间通过网络进行文件共享的网络协议早好,用于多台主机共享同一主机上的文件资源态睁陪。

你说的现象是linux通过网络安装的一种方式,通过网络安装有三种方式:

1.ftp

2.http

3.nfs

这三种情况都需要在另一台机器上配置相关的服务

NFS服务的权限和用户映射问题

简单说一下过程

这里着重讲一下用户映射的原理

  NFS服务虽然不具备用户身份验证的功能,但是NFS提供了一种身份映射的机制来对用户身份进行管理。当客户端访问NFS服务时,服务器会根据情况将客户端用户的身份映射成NFS匿名用户nfsnobody。nfsnobody是由NFS服务在系统中自动创建的一个程序用户账号,该账号不能用于登录系统,专门用作NFS服务的匿名用户账号。

  所谓用户身份映射,是指当客户端访问NFS服务器时,会自动被视作服务器中的nfsnobody用户,并按照该用户的权限设置去执行操作。但是并非所有的客户端都会被映射为nfsnobody用户,在/etc/exports

配置文件

中提供了以下选项,以决定是否将NFS客户端映射为nfsnobody用户:

  一般情况下,系统中除了为nfs创建的nfsnobdy用户外,还有系统创建的nobody用户(供大多数服务使用)。这两个用户在服务端和客户端都有。

  我们将客户端访问nfs服务器端的用户映射简化分为两种情况,一种是用户被压缩,一种不被压缩。(这里讲的压缩,有点映射的意思)

  当客户端使用用户zhangsan(666)连接服务端时(比如创建文件),实际传递的是其uid,当服务端接收到这个uid时,两种情况:

①、用户不被压缩:如果服务器端有这个uid,则显示该uid对应的(登录)名称,否则直接显示该用户uid(但该用户uid并不存在,所以在当再次请求查看该文件信息时,服务器在给用户返回信息之前,会检测到该uid并不存在,所以传给客户端时变成nobody的uid,所以在客户端查看文件时,其实显示所属主是nobody,而在服务器端显示的却是zhangsan的uid,因为文件毕竟是存在服务器上的)。也就是说当用户不被压缩的情况下,要想服务端和客户端显示相同的zhangsan,则必须服务端和客户端要同时拥有相同的zhangsan用户,且uid也要相同。

②、用户被压缩:那么客户端访问服务端时,不管客户端是以哪个用户的身份,最后都被压缩成指定的anonuid用户(默认是nfsnobody,当然可以修改配置的)。因为nfsnobody用户在服务端和客户端都有,压缩成该用户就一致起来了。当然我们可以修改配置指定要压缩成的用户id,但是同样要在两端都建立相同的该用户,否则,就会出现情况①中的,一边显示用户uid,一边显示nobody的现象。

所以,在实际应用中,如果nfs服务器当做数据服务器使用(比如存放图片视频等)的话,为了方便使用,使各个客户端都能简单存取数据,

一般采用将用户压缩成指定用户的方式,并且在服务器上将共享目录的所属主和所属组都设置成该用户及其主组。

关于nfs 锁服务器的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » NFS锁服务器:让文件共享更安全和可靠 (nfs 锁服务器)