Настройката на правата на сървъра на хостинг-провайдера може да бъде индивидуална, но накрая резултата трябва да е такъв: трябва да са дадени права за четене/запис от скрипта за ползващия, под който е пуснат уеб-сървъра Apache.
При това на споделения хостинг другите ползващи на тази машина не трябва да имат права за четене/запис във вашите файлове чрез свои скриптове. Също така е желателно, ползващия по FTP да може да презаписва тези файлове, и в същото време файловете, качени по FTP, да могат да се презаписват от скрипта.
Проблема е в това, че всеки хостинг-провайдер има своя политика за безопасност и свои настройки.
При някои хостинги процеса на сървъра се стартира по подразбиране под ползващия nobody:група. Файловете, които ползващия хостинга съхранява на своята машина, трябва да са достъпни за Apache. Това означава, че те или имат атрибут "четене за всички", или пък ползващия-собственик на файлове е задължен да принадлежи към същата тази група, в която е и сървъра. В последния случай файловете трябва да са достъпни за четене на членовете на групата (именно такива права за тях се определят по подразбиране на FTP-сървърите). При такъв подход страда безопасността: щом всички ползващи принадлежат към една и съща група, то те могат да четат файловете един от друг.
Да си представим, че ползващ е отворил в браузера страница, стартираща CGI-скрипт. Тъй като скрипта в действителност се стартира на сървъра Apache, пуснатия под nobody, то той ще бъде изпълняван с права на този ползващ. Следователно, за да може този скрипт да записва някакъв файл в директорията на хостинг-клиента, за нея трябва да има атрибут за запис за членовете на групата. Виждаме, че при такъв подход хостинг-ползващите също така могат и да изменят файлове един на друг.
«Bitrix Site Manager» работи с всякакво ниво на права, което сте му указали при настройката (инсталацията).
За да може продукта да работи коректно с папки и файлове с определено CHMOD (писал и създавал), ви е нужно да определите в /bitrix/php_interface/dbconn.php следните константи:
define("BX_FILE_PERMISSIONS", 0644);
define("BX_DIR_PERMISSIONS", 0755);
Това са типови настройки на права на повечето хостинги. Ако възникват някакви проблеми с работата, то трябва да се обръщате към техническата поддръжка на вашия хостинг.
Самостоятелно можете да определите нужното ниво на права, използвайки команда CHMOD в конзолен режим.
Следващото обръщение установява нивото на права на достъп и за файлове, и за папки:
chmod -R 644 *
За включване на права отделно за папките може да се ползва следния синтаксис:
find . -type d -exec chmod 0755 {} ';'
Ако трябва да се включат различни права за папки и файлове, то изпълнете следния скрипт:
<?php
define("BX_FILE_PERMISSIONS", 0644);
define("BX_DIR_PERMISSIONS", 0755);
function chmod_R($path) {
$handle = opendir($path);
while ( false !== ($file = readdir($handle)) ) {
if ( ($file !== ".") && ($file !== "..") ) {
if ( is_file($path."/".$file) ) {
chmod($path . "/" . $file, BX_FILE_PERMISSIONS);
}
else {
chmod($path . "/" . $file, BX_DIR_PERMISSIONS);
chmod_R($path . "/" . $file);
}
}
}
closedir($handle);
}
$path=dirname(__FILE__);
umask(0);
chmod_R($path);
echo $path;
?>
За включване рекурсивно на права разделено на файлове и папки може да се използват някои програми - FTP клиенти. Например, FlashFXP версия 3.хх.
FlashFXP позволява също така да се разделят права за файлове и папки, но извършва смяната на права по-бавно.
Обърнете внимание на включването на съответните флагове:
Separately set File and Folder attributes (Разделено се включват права на файлове и папки);
Apply changes to all subfolders and files (Рекурсивно включване на права на подпапки и файлове)
За всяка от инсталациите се настройва свое ниво:
| | |
Включване на права на папка | | Включване на права на файлове |
Обърнете внимание! Модул Управление на структурата позволява да се видят правата за достъп до файлове и папки, установени на ниво система.
При преглед на файловата структура в Менажера на файлове в колона Права на достъп се показва нивото на правата за достъп до файлове и папки, информация за собственика и групата ползващи (за *NIX).
0
Настройки на сървъра |
Описание на курса
| Използване на файлове .htaccess
|