Linux NFS创建掩码并强制用户等效

前端之家收集整理的这篇文章主要介绍了Linux NFS创建掩码并强制用户等效前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两台 Linux服务器:

文件服务器
Debian 5.0.3(2.6.26-2-686)
Samba版本3.4.2

阿帕奇
Ubuntu 10.04 LTS(2.6.32-23-通用)
Apache 2.2.14

我在文件服务器上有许多Samba共享,因此我可以从Windows PC访问文件.我也将/ data / www-data导出到apache服务器,我把它挂载为/ var / www.

设置没问题,除了我在NFS挂载上创建文件的时候.我最终得到了Apache无法读取的文件,或者我的系统上的其他用户无法修改文件.

使用Samba,我可以指定强制用户,强制组,创建掩码和目录掩码,这可以确保使用适合我的Apache Web服务器的权限创建所有文件.我找不到用NFS做这个的方法.有没有办法用NFS强制权限和所有权 – 我错过了一些明显的东西吗?

虽然我已经花了很多时间在Linux上,并且正在断绝自己离开Windows,但我仍然没有完全掌握Linux权限……如果这不是正确的做事方式,我愿意接受替代建议.

解决方法

鉴于你来自Windows,你会发现NFS是……不同的.

您遇到的问题相当普遍. NFS在机器之间来回传递文件​​/目录的UID和GID,并假设用户和组ID在两者上都相同地映射.这意味着您可以获得服务器上的UID / GID传递回NFS客户端的情况,但它无法在客户端的/ etc / passwd或/ etc / group中匹配,这意味着无法访问.

在(遥远的)过去,这与NIS和NIS合作,尽管还有其他方案已融入这个框架(Samba的Winbind就是其中之一).但是,这需要一个中央ID服务器,然后是许多手动修复权限.

有不同的方法解决这个问题,但最便宜/最快的方法是在两台机器上创建一个具有相同组ID号的组 – 比如组ID 50000 – 并在将相应用户添加文件服务器上时设置组位数.客户群;然后使用文件的组权限来控制访问.不是一个很好的解决方案,但它会工作.请注意,您可能会遇到在运行时明确更改其组的服务(也称为privledge drop)的问题,您可能需要更改控制在运行时假定哪个组的设置,以确保它是您创建的组.

对于通过Windows共享(也称为Samba)进入的文件,只需强制该组与您创建的组相同即可.这样所有文件自动获得“正确”的GID.

猜你在找的Linux相关文章