Необходимо ниво на права на сървъра
44 / 50

Настройката на правата на сървъра на хостинг-провайдера може да бъде индивидуална, но накрая резултата трябва да е такъв: трябва да са дадени права за четене/запис от скрипта за ползващия, под който е пуснат уеб-сървъра 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