Главная » 2016 » Июнь » 20 » Права доступа к файлам
13:23
Права доступа к файлам
Права доступа к файлам  Чтобы вы могли выполнить какую-либо операцию с файлом, РНР должен иметь право доступа к этому файлу. На большинстве Web-серверов можно свободно читать файлы, но не всегда имеются необходимые права для их создания и изменения. Это даже хорошо, поскольку полный доступ к файловой системе позволит хакерам сделать с вашей системой все, что им заблагорассудится.  На Unix-серверах имеется три набора прав доступа к файлу: для владельца, группы и всех остальных. Пользователь, создавший файл, называется владельцем. Группа - это группа пользователей, к которой принадлежит владелец. Третий набор прав относится к остальным пользователям системы.  Защищенные серверы рассматривают РНР как непривилегированного пользователя, у которого практически нет доступа к системе. Крайне не-желательно, чтобы РНР имел полные права, поскольку на его работу могут влиять внешние пользователи. Если они найдут способ скомпрометировать РНР, они смогут повредить всю систему.  Каждый набор прав доступа включает в себя право на чтение, запись (изменение) и выполнение. Права доступа независимы, например, вы можете разрешить чтение и выполнение файла, но запретить его изменение:  • Чтение - позволяет РНР читать файл, то есть изучать его содержимое. Для каталога право на чтение означает право просматривать содержи-мое каталога.  • Запись - позволяет изменять содержимое файла, удалять его. Для каталога право записи озна-чает право на создание нового файла или под-каталога.  • Выполнение - позволяет РНР выполнять программы. Обычно это плохая идея, поскольку она позволяет серверу выполнять вредоносные программы. Если Web-сервер настроен правильно, PHP-сценарии могут выполняться без права выполнения. Право выполнения для каталога означает право доступа к файлам внутри ката-лога. Поэтому для каталогов часто приходится устанавливать право чтения и выполнения.  Для большинства файлов установлено право чтения для владельца, группы и всех остальных. Владелец, как правило, имеет право записи файла. Все сказанное относится и к каталогам, за исключением того, что для каталогов устанавливается право выполнения.  Если вы хотите, чтобы РНР создавал новые файлы (это понадобится для некоторых сценариев из этой книги), вам нужно создать каталог, к которому РНР имел бы право записи.  Обычно права доступа устанавливаются абсолютным способом - трехзначным числом, каждый разряд которого соответствует набору прав доступа для владельца/группы/остальных. Например, 644 означает, что владелец имеет право читать и записывать файл (6), а члены группы и все остальные пользователи имеют право только читать файл (4). Вот наиболее практические значения:  • 0 - нет никаких прав доступа,  • 4 - право чтения,  • 5 - право чтения/выполнения,  • 6 - право чтения/записи,  • 7 - право чтения/записи/выполнения.  Далее мы поговорим о том, как устанавливать права доступа с помощью FTP-клиента и командной строки.  Установка прав доступа с помощью FTP-клиента  Большинство FTP-клиентов позволяют устанавливать права доступа к файлам и катало-гам. Обычно нужно щелкнуть правой кноп-кой мыши на файле или каталоге и выбрать команду изменения прав доступа, она может называться по-разному, вот несколько вариантов: CHMOD, Set Permissions или Properties, После этого появится диалог изменения прав доступа. Если вы не нашли подходящей команды, прочитайте документацию по вашей программе.  Для каталога обычно устанавливаются права доступа 755 (как показано ниже), что означает, что владелец может читать/изменять/выполнять, группа - читать/выполнять и остальные - читать/выполнять. Установите права доступа и нажмите ОК. Для файлов режим обычно равен 644, что означает то же самое, кроме битов выполнения.  Установка прав доступа из командной строки  Если у вас есть доступ к командной строке Unix, для установки прав доступа вы можете использовать команду chmod:  chmod 755 каталог  Что может быть не так?  Может возникнуть несколько проблем, если ваш ISP запускает РНР от имени другого пользователя. В этом случае вы можете установить права доступа для остальных пользователей, но ISP автоматически определит их и отвергнет. Поэтому вам ничего больше не останется, кроме как право на чтение файла.  Помните, что разрешение права записи каталога потенциально открывает множество «дыр» в безопасности. Никогда не разрешайте РНР выполнять файлы из каталога, доступного для записи, - в нем может оказаться все, что угодно.
Просмотров: 402 | Добавил: AdnrNick | Рейтинг: 0.0/0
Всего комментариев: 0
avatar