права доступа к файлам меняются через joomla - PullRequest
1 голос
/ 06 октября 2010

У меня есть установка по умолчанию для Joomla под Ubuntu 10.04. Я также изменил права на index.php шаблона (пользователь apache с правами на чтение и запись), чтобы я мог изменить index.php на экране администратора. Пока все отлично работает.

Но теперь, когда я изменяю файл с экрана администратора и сохраняю файл, он изменяет разрешение файла и удаляет разрешение на запись из файла. Это действительно сохраняет изменения.

Теперь, когда права на запись сняты, при попытке установить шаблон выдает ошибку. Итак, еще раз, я должен вручную установить разрешение на запись для пользователя apache на index.php и снова установить шаблон, затем он работает хорошо.

Кто-нибудь знает, меняет ли joomla права доступа к файлу, и есть идеи, как мне решить эту проблему.

Спасибо, Tanmay

1 Ответ

2 голосов
/ 06 октября 2010

Возможно, на вас влияет umask . Поместите umask(0133); в свой файл конфигурации (или в любое другое место, просто убедитесь, что оно дошло до создания файлов).

Справочная информация:

  • r (чтение) имеет значение 4 (двоичное значение: 100)
  • w (запись) имеет значение 2 (двоичное значение: 010)
  • x (выполнить) имеет значение 1 (двоичное значение: 001)

Эти разрешения могут быть предоставлены владельцу, группе и всем остальным («другие»).

Когда файл создается в PHP, он добавляет 666 к нему по умолчанию. Из этого числа значение umask удаляется с помощью побитового AND. Похоже, ты умник 0333. Лучший способ показать, что происходит, это продемонстрировать:

PHP adds: rw-rw-rw- 0666
umask   : -wx-wx-wx 0333
result  : r--r--r-- 0444

А если вы используете umask 0133:

PHP adds: rw-rw-rw- 0666
umask   : --x-wx-wx 0133
result  : rw-r--r-- 0644
...