Изменение разрешения файла

Я пытаюсь сохранить изображение из удаленного местоположения в локальное местоположение. В настоящее время, когда я сохраняю файл, он сохраняется правильно, с правильными разрешениями (0755) с неправильным владельцем / группой. В настоящее время он сохраняется как группа «никто» и владелец «никто». Мне нужно сохранить это как имя пользователя вместо этого.

Вот мой код, который сохраняет изображение:

file_put_contents($filename, $content);

chgrp($filename, 'username');
chown($filename, 'username');
chmod($filename, 0755);

0

Решение

Вы не можете передать файл другому пользователю, если вы не работаете от имени пользователя root. Это мера безопасности. Враждебный пользователь может легко создать / разделить группу файлов на другого пользователя и использовать квоту этого пользователя.

0

Другие решения

посмотрите на липкий бит 🙁http://computernetworkingnotes.com/managing-file-system-security/sticky-bit.html). это позволяет любым новым файлам / папкам, созданным в папке, иметь разрешения, соответствующие папке (автоматически).

также посмотрите на использование групп против пользователей для установки этих разрешений. Сейчас я использую chown apache: web для своих папок. затем я могу поместить свой ftpuser и других пользователей в веб-группу (или удалить их), чтобы разрешить редактирование в периоды изменений.

0

По вопросам рекламы [email protected]