我有一个 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
然后就可以删除这些文件。