Права 0644
Настройка прав на сервере хостинг-провайдера может быть индивидуальна, но прежде всего должны быть установлены права на чтение/запись из скрипта для пользователя, под которым запущен веб-сервер Apache.
При этом на разделяемом хостинге другие пользователи на этой же машине не должны иметь права на чтение/запись в ваши файлы через свои скрипты. Также желательно, чтобы пользователь по FTP мог перезаписывать эти файлы, и в то же время файлы, закаченные по FTP, могли быть перезаписаны из скрипта.
Проблема в том, что у каждого хостинг-провайдера своя политика безопасности и свои настройки.
На некоторых хостингах процесс сервера запускается по умолчанию под пользователем nobody:группа. Файлы, которые пользователь хостинга хранит на своей машине, должны быть доступны Apache. Это означает, что они либо имеют атрибут чтение для всех, либо же пользователь-владелец файлов обязан принадлежать к той же самой группе, что и сервер. В последнем случае файлы должны быть доступны для чтения членами группы (именно такие права для них устанавливают по умолчанию FTP-серверы). При таком подходе страдает безопасность: раз все пользователи принадлежат к одной и той же группе, то они могут читать файлы друг друга.
Представим, что пользователь открыл в браузере страницу, запустившую CGI-скрипт. Так как скрипт в действительности запустил сервер Apache, запущенный под nobody, то он будет выполняться с правами этого пользователя. Следовательно, для того чтобы скрипт смог записать какой-нибудь файл в директорию хостинг-клиента, для нее должен стоять атрибут записи для членов группы. Мы видим, что при таком подходе хостинг-пользователи также могут и изменять файлы друг друга.
«1С-Битрикс: Управление сайтом» работает с любым уровнем прав, который вы указали ему при настройке (установке).
Чтобы продукт корректно работал с папками и файлами с заданным 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).
Довольно раздражительным может показаться тот факт, что на пути к работающему сайту могут стать 403 и 500 ошибки, неработающие скрипты, неудаляемые папки. Вышеперечисленные проблемы часто связаны с неправильно выставленными правами на файлы и папки.
С проблемой неправильных прав вы можете столкнуться при переезде от другого хостера. Например, вы решили купить доменное имя и хостинг у хостинг-провайдера с Windows OS. А потом увидели, что есть специализированный хостинг для CMS – как раз то, что вам нужно. И вы решили перебраться на хостинг для сайтов Joomla с Linux OS. Вот тут-то и начинаются проблемы. Но не отчаивайтесь, эта статья поможет вам во всем разобраться.
Рядовые пользователи Windows от таких нюансов далеки. Хотя понятие уровней доступа и существует в этой ОС, но используется редко. Поэтому, если вы хотите купить выделенный сервер с Windows, можете смело пропустить эту статью.
В случае с Linux дело обстоит иначе. UNIX-подобные системы предполагают разные уровни доступа и разные права на данные. Файлы и папки рассчитаны на работу трех категорий пользователей:
- владельца (user);
- группы (group), в которую входят другие пользователи и может входить владелец файла;
- остальных (others) – например, посетителей сайта, которые должны хотя бы иметь права просматривать выставленный вами контент.
Права доступа Linux пользователей могут быть следующими:
К каждому файлу и директории применимы следующие права (используются и в буквенном, и в числовом виде):
read (4) – чтение – право на чтение содержимого файла;
write (2) – редактирование – право на создание, изменение, удаление файла или директории;
execute (1) – исполнение – право на исполнение файла и вход в директорию (проверяется в первую очередь).
Таким образом, права пользователей могут распределяться следующим образом:
В этой статье мы подробно расскажем о том, как можно изменить права доступа к файлам и папкам в Windows 7, а равно как о смене владельца файла либо папки. Эти знания пригодятся, например, для организации домашней сети, к которой подключено несколько пользователей.
Самый простой способ изменить владельца файла либо папки – это использовать Проводник Windows. Посмотрим, как это можно сделать.
Как изменить владельца файла либо папки
Щелкните на файле либо папке правой кнопкой мыши и выберите команду Свойства, после чего откройте вкладку Безопасность. Щелкните на кнопке Дополнительно.
Откроется вкладка Владелец.
Щелкните на кнопке Изменить и откроется окно Дополнительные параметры безопасности. Теперь выберите нужного пользователя либо группу в списке Изменить владельца на и щелкните на кнопке ОК.
Предположим, что нужного пользователя или группы в списке не оказалось. Щелкните на кнопке Другие пользователи и группы. Теперь в поле Введите имена выбираемых объектов введите имя пользователя либо группы.
Однако, вводить имя следует по специальным правилам, узнать которые можно, щелкнув на ссылке примеры.
Есть вариант и проще – щелкните на кнопке Дополнительно и затем на кнопке Поиск. В окне Результаты поиска будут найдены все пользователи и группы на вашем компьютере.
Осталось выбрать пользователя или группу и щелкнуть на кнопке ОК. Мы вернемся в предыдущее окно, где будет указан выбранный нами пользователь.
Щелкните на кнопке ОК. Теперь главное – установите флажок Заменить владельца подконтейнеров и объектов, после чего щелкните на кнопке ОК. В результате, папка или файл получат нового владельца.
Как изменить разрешения доступа к файлам или папкам
Ладно, с владельцами разобрались. Как насчет разрешений доступа? Вот добавили мы нового владельца, однако, что если необходимо указать, что именно разрешено ему делать, а для чего пусть губу не раскатывает? Сделать это можно тоже с помощью вкладки Безопасность.
Щелкните правой кнопкой на файле или папке и выберите команду Свойства, затем перейдите на вкладку Безопасность. Выберите в поле Группы или пользователи нужного пользователя/группу и щелкните на кнопке Изменить.
Теперь в столбце Разрешить и Запретить установите нужные флажки напротив тех разрешений, что вам требуются. Скажем, если нужно запретить пользователю изменение файлов либо папок, поставьте флажок в столбце Запретить напротив разрешения Изменение. Затем щелкните на кнопке Применить и запрет вступит в силу.
Если же нужного пользователя в списке не оказалось, щелкните на кнопке Добавить. Откроется уже знакомое нам окно, в котором можно добавить нужного пользователя. О том, как это сделать, написано в предыдущем подразделе.
К слову сказать, в окне Разрешения можно без проблем удалить пользователя или группу, для чего достаточно щелкнуть на кнопке Удалить.
Добавить комментарий