2013-06-15 2 views
0

Один из моих клиентов использует персональный сервер, который устанавливает владельца по умолчанию «nobody», поэтому он не может писать или удалять любой из этих файлов. Я жестоко решил эту проблему вручную, создав необходимые файлы, но это не решение, потому что мне все еще нужно искать файлы с именами, которые я не могу предсказать.

Есть ли какое-либо решение php или конфигурация сервера, которые я могу предоставить, чтобы решить эту проблему?
'nobody' принадлежит файл, созданный thorugh php

Некоторые изображения:

enter image description here

и

enter image description here

Благодарности

ответ

0

Чтобы получить права доступа, вы можете установить группу Setuid бит на каталог с

chmod g+rwxs dirname

Это гарантирует, что файлы, созданные в каталог принадлежит группе. Затем вы должны убедиться, что все работает с UMASK 002 или 007.

PHP CHMOD Link

+0

Я добавил функцию umask, но я не могу проверить, потому что у меня нет URL-адреса сайта. Однако я хотел бы задать еще одну вещь: лучше ли использовать 'touch' вместо' file_put_contents' для создания файла? – Razorphyn

+1

@Dheed Если вы хотите записать данные в файл ta, вы используете file_put_contents, и если вы хотите просто изменить время на файл, используйте touch. Обратите внимание, что прикосновение создаст файл, если он не существует. В вашем случае я бы использовал file_put_contents. – Claude

+0

@Dheed вы можете пометить ответ правильно, если это вам помогло? – Claude

-1

Файлы пишутся как пользователь веб-сервер работает под. в вашем случае nobody является пользователь, что веб-сервер работает под управлением

+0

если вы вниз голосование, оставить комментарий. – DevZer0

+1

-1 для того, чтобы указать на очевидное, решение проблемы - это то, что ОП не спросил, что происходит. –

Смежные вопросы