我正在尝试将图像从远程位置保存到本地位置。目前,当我保存文件时,它正确保存,具有正确的权限(0755)与错误的所有者/组。它目前正在保存为'nobody'和所有者'nobody'。我需要将其保存为用户名。
以下是保存图片的代码:
file_put_contents($filename, $content);
chgrp($filename, 'username');
chown($filename, 'username');
chmod($filename, 0755);
答案 0 :(得分:0)
除非您以root用户身份运行,否则无法将文件chown给其他用户。这是一项安全措施。恶意用户可以轻易地向一个不同的用户创建/打开一堆文件并使用该用户的配额。
答案 1 :(得分:0)
看一下粘性位:(http://computernetworkingnotes.com/managing-file-system-security/sticky-bit.html)。这允许在文件夹中创建的任何新文件/文件夹具有与文件夹匹配的权限(自动)。
还可以查看使用组与用户来设置这些权限。这些天我倾向于使用chown apache:web作为我的文件夹。然后我可以将我的ftpuser和其他用户放入网络组(或删除它们),以便在更改期间进行编辑。