混合命令行和服务器时的文件权限

混合命令行和服务器时的文件权限

我有一个 PHP 服务器,它为某些东西创建文件夹和文件。我还从命令行运行支持代码,对相同的文件夹和文件进行操作。

问题是,当从服务器运行时,新文件的文件权限变为rwxr-xr-x _www _www,而从命令行创建的文件变为rwxr-xr-x user _www

因此,如果我以“用户”身份在命令行上运行尝试删除从服务器创建的文件的 PHP 代码,我必须这样做sudo,因为“用户”没有对文件的写访问权限。

修复它以使服务器和命令行对文件具有相同权限的正确方法是什么?

答案1

你必须决定你想做什么。如果服务器作为 运行_www,并且您使用命令行作为user,则服务器创建的文件将归 拥有_www,在命令行上创建的文件将归 拥有user

您可以更改文件的所有权,但也需要 sudo ;甚至_www无法“给予”文件 user

您最好的选择可能是加入user_www组:

sudo usermod -a G _www user

然后设置您的服务器,以便它创建向组和所有者授予写入权限的文件 - rwxrwxr_x 而不是 rwxr_xr_x。 user然后就可以删除这些文件。

相关内容