NFS挂载目录中的用户权限


10

我有oracle linux 6.7,这是Windows中的NFS服务器,并且我试图在Linux中挂载共享文件夹。

Windows NFS服务器具有共享的安装:

192.168.1.10:/OracleBK

在我的oracle linux服务器中,我创建了一个文件夹/ orabackup,来自oinstall组的oracle用户是该文件夹的所有者:

mkdir /orabackup
chown -R oracle:oinstall /orabackup
chmod -R 777 /orabackup
mount -t nfs -o rw 192.168.1.10:/OracleBK /orabackup

/ etc / fstab对应的行是

192.168.1.10:/OracleBK /orabackup nfs defaults 0 0

用于安装使用的文件夹的命令是:

mount /orabackup

现在,“ orabackup”文件夹已安装。

但是,oracle用户无法读写,并且需要对该目录的读写权限。超级用户可以读写。

应该如何赋予oracle用户完全权限?


4
如果它是Windows中的NFS服务器,那么请在帖子中添加允许您执行此操作的产品/软件。
Rui F Ribeiro

Answers:


11

NFS根据用户ID(UID)检查访问权限。本地计算机上用户的UID必须与您尝试在服务器上访问的文件的所有者的UID相匹配。

我建议去服务器看看文件权限。id username它们属于哪个UID(找到),并设置了哪些权限?

而且,如果您是唯一访问服务器上文件的人,则可以使服务器假装所有请求均来自正确的UID。为此,NFS具有选项all_squash。它告诉服务器将所有请求映射到由anonuid,anongid指定的匿名用户。

添加以下选项:all_squash,anonuid=1026,anongid=100到中的导出/etc/exports

但是请注意,这将使任何人都可以有效地安装导出文件的所有者。


我的NFS服务器基于Windows,对于Windows上的NFS,我们为我的Linux操作系统的ip设置权限。
saeed.sh

1
您应该在问题中声明NFS实际上是Windows。
星期一

/ etc / exports文件用于nfs服务器,在nfs服务器中,我们应该对其进行配置。在客户端中,我们不应该在此文件中添加任何行。这是真的吗?
saeed.sh

请检查此处是否能解决您的问题:unix.stackexchange.com/questions/213837/…– 2016
星期一

@monsune是否必须匹配UID?只有GID匹配时,它才行吗?
Reddy Prasad

1

您在挂载点上设置属性,它们并没有多大用处。你需要做

chown -R oracle:oinstall /orabackup
chmod -R 777 /orabackup

挂载再次(以root用户身份)/orabackup来设置共享文件夹的属性。


1
安装后,当我编写chown -R oracle:oinstall / orabackup时,会引发此错误:[root @ it〜]#chown -R oracle:oinstall / orabackup / chown:更改`/ orabackup /'的所有权:权限被拒绝
saeed.sh 2016年

1
我同意monsune:您的NFS服务器基于Windows的事实使事情变得复杂。您是否可以查看NFS服务器软件的文档,以查看是否有任何方法可以从Windows框中更改目录的所有权,和/或允许客户机上的“ root”用户对共享的完全访问权限?夹?
G-Man说'Resstate Monica''1

root用户可以在此目录上读写。但我想获得对oracle用户的许可。
saeed.sh

我的意思是,根据您先前的评论,root用户没有权限进行操作chown。也许“完全访问”是表达这种说法的错误方法;我的意思是“完全权利”或“完全特权”。
G-Man说'Resstate Monica''1
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.