我有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用户无法读写,需要对该目录有读写权限。 root用户可以读写。
应该怎么做才能给oracle用户完全权限?
答案1
NFS 根据用户 ID (UID) 检查访问权限。本地计算机上用户的 UID 需要与您尝试在服务器上访问的文件所有者的 UID 相匹配。
我建议去服务器查看文件权限。id username
它们属于哪个 UID(用 查找)以及设置了哪些权限?
如果您是唯一访问服务器上文件的人,您可以让服务器假装所有请求都来自正确的 UID。为此,NFS 有选项all_squash
。它告诉服务器将所有请求映射到由 anonuid,anongid 指定的匿名用户。
添加这些选项:all_squash,anonuid=1026,anongid=100
到/etc/exports
.
但请注意,这将使安装导出的任何人有效地成为这些文件的所有者。
答案2
您在挂载点上设置属性,但它们没有多大作用。你需要做
chown -R oracle:oinstall /orabackup
chmod -R 777 /orabackup
再次(作为root)后mount /orabackup
,设置共享文件夹的属性。