求助各位大神nfslinux挂载nfs文件系统的用户权限问题

windows2008建立NFSlinux下mount共享目录,问题出现在无论怎么设置都无法在linux下设置文件夹权限,想知道有没有方法可以这是这个共享文件夹的访问权限,因为有多个用户共享这个目录,而且... windows2008建立NFS linux 下mount共享目录,问题出现在无论怎么设置都无法在linux下设置文件夹权限,想知道有没有方法可以这是这个共享文件夹的访问权限,因为有多个用户共享这个目录,而且目录中的数据比较机密,有知道这方面的朋友请出手帮忙,谢谢了,或者有这方面文字资料请发给我再次感谢

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

既然是在2008上建立的NFS。应该去2008上去设置权限问题

NFS (Network File System) 即网络文件系统。一种使用于分散式文件系统的协定,功能是通过网络让不同的机器、不同的能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。

是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

当服务器在启动NFS时会随机选用数个端口,并主动地向RPC注册。因此RPC可以知道每个端口对应的NFS功能。然后RPC固定使用端口111来监听客户端的请求并回报客户端正确的端口,所以可以让NFS的启动更为容易。注意,启动NFS之前,要先启动RPC;否则NFS会无法向RPC注册。另外,重新启动RPC时原本注册的数据会不见,因此RPC重新启动后它管理的所有程序都需要重新启动以重新向RPC注册。
当客户端有NFS文件要存取请求时,它如何向服务器端要求数据?
(1)客户端会向服务器端的RPC(port 111)发出NFS文件存取功能的询问请求。
(2)服务器端找到对应的已注册的NFS daemon端口后会回报给客户端。
(3)客户端了解正确的端口后,就可以直接与NFS守护进程来联机。

其中,NFS服务器设定分享出来的/share/portalone(可以是其他目录)这个目录后,一般将该目录挂在磁阵(磁盘阵列——将多个硬盘整合在一起当做一个存储硬盘)上,其他的客户端就可以将这个目录挂载到自己系统上的/home/portalone/pnfs挂载点(挂载点可以自定),只要在PC1系统中进入/home/portalone/pnfs目录内,就可以看到NFS服务器系统内的share/portalone目录下的所有数据(要有相应的权限),share/portalone就好像自己PC中的一个分区(但不占用磁盘空间)。用户可以使用cp、cd、 mv、rm等磁盘或文件相关的指令进行操作。虽然NFS有属于自己的协议和端口号,但是在传送数据或其他相关信息时,NFS使用的是远程过程调用(Remote Procedure Call,RPC)协议来协助NFS本身的运作。RPC即远程进程调用。当使用某些服务来进行远程联机的时候,主机的IP地址、服务的端口号及对应到的服务PID等信息都需要管理与对应,管理端口的对应与服务相关性的工作就是RPC的任务。

NFS本身的服务并没有提供数据传递的协议,因此,NFS使用RPC来实现网络传输功能。NFS本身就是一个使用RPC的程序,换句话说,NFS是RPC服务器。当然,不但运行NFS的服务器需要启动RPC的服务,要挂载NFS文件系统的客户端,也需要同步启动RPC,这样服务器端与客户端才能由RPC的协议进程序端口的对应,Linux系统默认时启动这一服务。

NFS的安装是非常简单的,只需要两个软件包即可,而且在通常情况下,是作为系统的默认包安装的。

配置文件每行分为两段

第一段为共享的目录,使用绝对路径;

地址可以使用完整IP或网段,例如
rw:read-write,可读写注意,仅仅这里设置成读写客户端还是不能正常写入,还要正确地设置共享目录的权限
async:文件暂存于内存,而不是直接写入内存;   
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。   
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;   
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;   

2、设置NFS服务器的自动启动状态
对于实际的应用系统,每次启动LINUX系统后都手工启动nfs服务器是不现实的,需要设置系统在指定的运行级别自动启动portmap和nfs服务。

3、设置portmap和nfs服务在系统运行级别3和5自动启动。

  • nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;
  • mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务所提供的文件前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
  • portmap:主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。

NFS服务器的启动与停止

在对exports文件进行了正确的配置后,就可以启动NFS服务器了。

这样一来,NFS服务器就搭建好了,如果需要一个客户端来共享他的目录,需要在客户端执行这样的命令:

我要回帖

更多关于 nfs挂载 的文章

 

随机推荐