我希望这是可能的。
我创建了一个名为 的 linux 用户,newuser
其根目录是一个包含网站应用程序的目录(这是我聘请来开发该网站的开发人员)。例如,该文档根目录是/home/mainuser/otherdomain.cl/customers/newwebsite
drwxrws--- 4 mainuser nobody 4096 Jul 3 19:01 newwebsite
通过查看 Apache 配置,我看到它运行的用户和组被称为nobody
,因此,我将新用户添加到nobody
组中。这样,该用户就可以读取、上传和更改该文件夹中的文件。另一方面,Apache 可以读取文件以便在 Web 浏览器中显示网站。
好吧...当该用户登录时,他会进入该站点的文档根目录,但他可以执行cd ..
并导航和浏览内部/home
和下方其他目录的内容。
我怎样才能避免这种情况?由于该用户与 Apache 位于同一组中,因此删除读取权限并不那么简单。如果我更改读取权限,Apache 将被限制执行我在目录下其他文件夹中拥有的其他网站/home
。
有可能完成我需要的吗?
操作系统是:CentOS Linux release 7.9.2009 (Core)
如果
/home/mainuser/otherdomain.cl/customers/newwebsite
是用户的主目录newuser
,并且他应该能够写入该目录,为什么该目录归用户所有mainuser
?这两个用户 (mainuser
和newuser
) 是否需要同时写入该目录?如果否,
newuser
则从nobody
组中删除并将该目录的所有者(递归地,如果该目录中已经存在任何内容)mainuser
更改为newuser
:chown -R newuser /home/mainuser/otherdomain.cl/customers/newwebsite
。您还应该删除ws
组的权限(除非 Web 应用程序还需要向该目录写入一些内容,而不仅仅是读取,然后留w
在原地)。所以固定的权限应该是:确保对
newuser
内部的任何其他目录没有权限/home
(当然,您需要x
对上述所有目录的“其他”权限newwebsite
才能完全访问该目录newuser
- 但只有x
他无法看到内容)。这样 Apache 将能够读取目录并
newuser
能够修改它,只是mainuser
没有访问权限。新网站的工作完成后,您可以将目录及其内容的所有权更改回mainuser
.如果您需要两者
mainuser
并且newuser
能够同时访问目录,请执行与上述解决方案相同的操作,但不要通过chown
命令更改目录的所有权,而是保留所有权mainuser
并添加 ACL以newuser
使他能够修改目录:除了正常的“所有者、组、其他”权限外,这为用户
newuser
提供了读取和修改目录及其内容的额外权限。完成后,如果您想删除附加权限,请使用以下命令: