Назначение прав,системным папкам и файлам drupal 6.13

Главные вкладки

Аватар пользователя hitmans hitmans 28 августа 2009 в 8:24

Возникла проблема,пытаюсь запретить доступ из браузера к определенным папкам (системным) получается только через chmod 711 - папка не отображается , и сайт нормально функционирует

Но если написать полный путь до системного файла например include/form.inc он дает открыть файл (хоть права стоят 644 - без записи) когда пытаюсь оставить просто исполнение +x , сайт не хочет нормально отображатся , эксперименировал с .htaccess- запрещал показ всех файлов в папке - по маске и тд - ноль реакции - хоть делал hhtp.conf Overdrive all -

Где можно подправить права доступа к системным папкам , чтобы они не отображались в браузере , без потери функционирования сайта?

Комментарии

Аватар пользователя Vladimir_VVV Vladimir_VVV 28 августа 2009 в 9:06

Права ставить - нет смысла так как php, скорее всего, работает от имени вебсервера, если отнимите права, то работать не будет, а вот с хтаксесом это реально сделать, но, к сожалению, помочь не смогу, ибо у самого nginx и его правила справляются с блокировкой просмотров файлов.

location ~* \.(engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template)$ {
      deny all;
    }
Аватар пользователя hitmans hitmans 29 августа 2009 в 3:13

Vladimir_VVV wrote:
Права ставить - нет смысла так как php, скорее всего, работает от имени вебсервера, если отнимите права, то работать не будет, а вот с хтаксесом это реально сделать, но, к сожалению, помочь не смогу, ибо у самого nginx и его правила справляются с блокировкой просмотров файлов.

location ~* \.(engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template)$ {
      deny all;
    }

Покапался с помощью друга понял где была ошибка,когда файл лежит .htaccess в корне сайта и почему не работал
сделал так :
нашел в usr/local/etc/apache
httpd.conf - найти строчку про .htaccess - поставить AllowOverride All

потом правильно перезапускаем
и .htaccess теперь можно использовать (который дефолтный уже создан в директории и

 <FilesMatch "\.(engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template)$ {
     
Order Allow,Deny   (запретить)
</FilesMatch>
....
Options -Indexes  (минус , не листить без индекс файла,если + поставить будет показывать что в папке и какие файлы)

Главно для того чтобы конфиг httpd.conf использовался перезапустим демон апач

[root@forum /usr/local/sbin]# apachectl restart
/usr/local/sbin/apachectl restart: httpd not running, trying to start
/usr/local/sbin/apachectl restart: httpd started
[root@forum /usr/local/sbin]#

Теперь можно работать не опасаясь что файлы и папки просмотрят

Аватар пользователя Vladimir_VVV Vladimir_VVV 29 августа 2009 в 9:59

я так понимаю у вас FreeBSD. А почему бы Вам nginx не поставить?
Памяти после установки nginx освободилось море(средиземное), а эту память можно под mysql-кеш израсходовать и еще создать виртуальный диск для использования в качестве temp-директории в mysql. Это позволит mysql серверу создавать временные таблицы не на диске а в памяти (это более 60% всех временных таблиц) что значительно повысит производительность. Да и сам nginx быстрее будет чем апач.

Аватар пользователя hitmans hitmans 29 августа 2009 в 16:38

"Vladimir_VVV" wrote:
я так понимаю у вас FreeBSD. А почему бы Вам nginx не поставить?

Да freebsd,может быть и nginx поставил бы,да сервер в локалке не я собирал , а друг , так что стал работать с апачем , ну и нагрузка в сети минимальна,там крутится только support,и форум,если бы больший обьем нагрузки был бы , то можно конечно было подумать и об nginx.Хотя апачу доверия больше.
и не давно начал работать в unix подобных системах, только поверхностно знал как и что , теперь вот с малых азов учусь.
да эксперименты ставить на рабочей машине опасаюсь,вдруг что полетит , потом с бэкапами еще мудрить )