PHP / Apache: настройки разрешений для связанных графических файлов - PullRequest
2 голосов
/ 30 июня 2011

У меня есть несколько графических файлов, которые существуют в каталоге, из которого размещен веб-сервер. Я хочу повторно использовать эти графические файлы для другого веб-сервиса.

Я создал символическую ссылку следующим образом:

lrwxrwxrwx  1 root    root      51 Jun 30 03:47 gifs -> /var/www/vhosts/webservice/httpdocs/gifs

Рассматриваемая папка gifs имеет следующие разрешения:

drwxr-xr-x  6 user2 psacln    4096 Jun  1 07:02 gifs

и тестовый файл там имеет это разрешение

-rw-r--r--  1 user1   psacln    1663 Jun 10 09:27 noimage.gif

Так что из веб-сервиса я могу нормально просмотреть файл, используя http://www.windowsmobilesoft.net/gifs/noimage.gif

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

http://www.pocketpcsoft.net/gifs/noimage.gif

Запрещено

У вас нет разрешения на доступ /gifs/noimage.gif на этом сервере.

Сервер Apache / 2.2.3 (CentOS) в www.pocketpcsoft.net Порт 80

Я добавил apache в группу psacln, но это ничего не изменило.

Я подозреваю, что это что-то действительно простое, что мне нужно сделать, но я не могу думать, что это, кто-нибудь может помочь?

Спасибо

Грег

Ответы [ 2 ]

0 голосов
/ 30 июня 2011

Скорее всего, ваш экземпляр apache настроен на то, чтобы не следовать символическим ссылкам, чем у вас есть проблема с разрешениями.

См. options + symlinks

Обратите внимание, что разрешение apacheчтение символических ссылок может привести к уязвимостям в вашем приложении - лучшие решения:

  • использовать жесткие ссылки (если корни vhost doc останутся в той же файловой системе)
  • используйте правила перезаписи для сопоставления URL-адреса изображения с файлом
  • используйте псевдоним для сопоставления URL-адреса изображения с файлом
  • просто скопируйте проклятые файлы!
0 голосов
/ 30 июня 2011

перейдите в папку gifs на putty и введите: chmod 0755 noimage.gif

редактировать: перейдите в папку, содержащую папку gifs на putty и введите: chmod 0755 GIF-файлов

затем перейдите в папку и введите: chmod 0755 noimage.gif

...