用户创建文件和目录时的默认组

用户创建文件和目录时的默认组

我有一个用户deployment,他的默认组设置为www-data。他也属于组xxxxx

然后我在用户部署下有一个 cron 脚本,该脚本运行时php script会生成一些动态文件。这些文件设置了错误的组,xxxxx而我想www-data为它们设置组。我以为在用户下生成的文件会设置他的默认组。

我该怎么做才能强制他设置我想要设置的群组?

答案1

您似乎已更改用户的主要组,但尚未注销并重新登录。

对用户主要组的更改不会在用户当前登录会话下生效,但会在您下次以该用户身份登录时生效。

当前内核的用户凭证不会即时更改...它们仅在新登录时更新(暂时更改身份su或被sudo视为新登录)。

主要原因是用户会话实际上是一组正在运行的进程(并且必须)在用户登录时创建,和其他一切一样(安全方面)这些进程需要凭证才能运行并完成其工作,因此它们从用户那里继承凭证...您可以看到它们的样子,例如:

ps x -o user,group,pid,command

因此,在更改已登录用户的凭据后,您需要通过注销然后再次登录来结束当前用户会话,以便新会话下的用户进程将使用新凭据运行。

相关内容