首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NFS默认为777

NFS默认为777
EN

Server Fault用户
提问于 2014-06-05 19:00:23
回答 3查看 21.5K关注 0票数 2

我有份NFS。此共享在几个不同的应用程序之间共享。我们的web服务器正在运行PHP,当它创建目录时,它没有正确地设置权限,因此一旦创建,它就不能写入目录。如何将此NFS共享挂载到PHP具有完全读/写访问权限的位置?下面是与媒体服务器导出选项和web服务器上的挂载选项一起创建的目录。理想情况下,我可以在/opt/挂载上设置权限,当我挂载到该目录时,共享可以设置该目录上的任何组/用户的权限。

代码语言:javascript
复制
dr----x--t. 2 nobody nobody 4096 Jun  5  2014 user_2

挂载输出:

代码语言:javascript
复制
media.dc1:/home/fs_share on /opt/mount type nfs (rw,vers=4,addr=10.10.20.127,clientaddr=10.10.20.42)

从媒体服务器导出文件:

代码语言:javascript
复制
/home/fs_share     10.10.20.0/255.255.255.0(rw,sync,no_root_squash)
EN

回答 3

Server Fault用户

发布于 2014-06-05 19:24:22

在/home/ user /..profile中的"umask“参数控制由该用户Standart创建的文件的权限为umask=022,这意味着文件为755,目录为644。如果您希望所有者和组拥有完全的权限,那么应该是"umask=002“。

票数 1
EN

Server Fault用户

发布于 2016-09-22 22:15:11

这需要比UNIX权限所能有效处理的更复杂的权限处理。文件系统ACL是您在这里的解决方案。

使用ACL,您可以继承父目录的权限以及所有权。这将确保无论是谁在特定的子树中创建文件或目录,他们都从父目录(而不是umask)获得权限。

仔细研究getfacl和setfacl命令。使用默认ACL,您可以控制此所有权和权限继承。

RHEL存储管理指南的这一章是一个非常完整的ACL指南,它是一个相当明确的资源:https://access.redhat.com/documentation/en-US/Red_帽子_企业_Linux/6/html/Storage_管理_指南/ch-acls.html

票数 1
EN

Server Fault用户

发布于 2018-09-24 15:36:03

如果PHP代码能够创建这些文件,它应该能够"chmod“它们。

代码语言:javascript
复制
<?php
chmod("/mydir/myfile", 0660);
?>

这里是对chmod函数的引用。

如果您想使用特定的uid/gid (其他tah /nogroup)挂载共享,可以尝试使用all_squash导出

代码语言:javascript
复制
/export/myshare x.x.x.x(rw,all_squash,anonuid=<newUID>,anongid=<newGID>,sync)

来自https://linux.die.net/man/5/exports

all_squash将所有uids和gid映射到匿名用户。适用于NFS导出的公共FTP目录、新闻线轴目录等。相反的选项是no_all_squash,这是默认设置。anonuid和anongid这些选项显式设置匿名帐户的uid和gid。此选项主要用于PC/NFS客户端,您可能希望所有请求都来自一个用户。例如,考虑下面示例部分中/home/joe的导出条目,它将所有请求映射到uid 150 (据认为是用户joe的请求)。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/602156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档