2017-01-18 5 views
-1

Я пытаюсь открыть/прочитать и скопировать/удалить файлы на диске в Linux-системе, используя PHP-скрипт. Файлы остаются в каталоге Billy (/home/billy/uploads), все отправляются по FTP. Они имеют основные права (rw только для пользователя) и принадлежат, согласно «ls -lr», на billy:billy.Открыть файл в PHP, не принадлежащий apache

Попытка fopen или скопировать файл не работает, не chown или chmod с помощью PHP.

Как я могу сделать «PHP-user», www-data, чтобы делать то, что я хочу? Что нужно сделать? Я установил владельца содержащего каталога «uploads», чтобы быть www-data, но не повезло.

+0

Билли должен дать всемирно разрешение на чтение к файлу. Пользователь веб-сервера не может переопределять разрешения. – Barmar

+0

Возможный дубликат [Доступ к файлу, который находится до/вне корневого каталога сервера?] (Http://stackoverflow.com/questions/13357994/access-a-file-which-is-located-before-outside-the -server-root-directory) – Divyank

+0

Спасибо @Barmar. Любая идея, как это сделать? Divyank, nope - это похоже, но все же другое. Спасибо, в любом случае. – chrney

ответ

0

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

  • Во-первых, (с помощью пользователя billy, sudo права или root) делают /home/billy/ доступным для других, но только это: удалить все права (чтение-запись-выполнение) от кого-либо еще:

    chmod og-rwx /home/billy/* 
    chmod 755 /home/billy/ 
    
  • вторых, сделать uploads записи и доступны для других:

    chmod 777 /home/billy/uploads/ 
    
  • , если вы хотите существующего контента, чтобы быть видимыми вам может понадобиться что-то вроде

    chmod -R og+r /home/billy/uploads/*