2

我正在开发一个需要多个用户才能访问名为预览的目录的应用程序。

所以我将每个用户的主要组设置为www

当文件中有一组www应用程序可以正常工作时。

问题是文件是通过 http 请求创建的,这意味着apache用户正在创建文件。

当我跑步时 id apache

我明白了uid=48(apache) gid=501(www) groups=501(www),48(apache)

但文件的所有者和组是apache apache

我不知道如何让 apache 创建所有者和组为的文件apache www

提前致谢。我花了很多天试图弄清楚这一点。

4

1 回答 1

2

设置标识

在创建文件的目录中,您可以将该目录设置为您想要的组并设置 setgid 位,因此该目录中的所有文件都具有相同的组。

如果目录没有您想要的组,请使用 chown。

chown 用户名:www 目录/

ls -lld directory/ 应该有“用户名 www”。

chmod g+s 目录/

ls -lld 应该在组“x”所在的位置显示一个“s”,drwxr-sr-...

cd目录/

触摸测试文件

ls -ll 测试文件

文件 testFile 应该是“用户名 www”。

我不知道这里链接信息的规则,但是谷歌“oracle setgid”找到了一个好的文档。

于 2017-10-29T06:08:10.897 回答