PHP chmod – установка и чтение прав доступа в Unix системах с помощью PHP

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать
Красносельский
Константин
Константинович

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Компьютер и программы

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Веб-дизайн

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Справочники

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Документация по CSS1

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Настройка файла .htaccess

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Коды ошибки http сервера

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Подстановочные символы и регулярные выражения

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Спецификация файла robots.txt

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать SSI – Server Side Includes

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Таблица кодировки символов кириллицы

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Нестандартные символы в HTML

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Вторая таблица символов HTML

 

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Советы начинающим

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Советы начинающим Веб-дизайнерам: Что, где и зачем.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Правила плохого тона

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать WEB-уловки

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Камень предкновения: верстка таблицами или блоками?

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Рекомендации по разработке веб сайта

 

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Анализ WEB-конъюнктуры. Создание лучшего сайта и его раскрутка.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Анализ WEB-конъюнктуры

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Предисловие

Приручение поисковых машин

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Уровень документа - все гениальное просто

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Благоустройство нор для поисковых червей или как водить пауков по нашей паутине

Ускорение индексации сайта

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Если гора не идет к Магомету

Индекс цитирования

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Что это такое и с чем его едят

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Приобретение веса в глазах общественности

Послесловие

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Последние замечания по интернет-раскрутке

 

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Приложения

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать А: «Рекомендации лучших пауководов»

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Краткий комментарий.

Советы специалистов поисковой системы Rambler.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Использование файлов robots.txt.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Часто задаваемые вопросы.

Советы специалистов поисковой системы Aport.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Регистрация сайта в Апорте.

Советы специалистов поисковой системы Yandex.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Добавление страниц

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Индексирование

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Положение страницы на выдаче

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Поиск со своей страницы

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Ответы на часто задаваемые вопросы

 

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Б: «1000 сверх-сайтов Рунета»

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать 1000 сверх-сайтов Рунета

 

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать В: «Сто наиболее популярных поисковых слов»

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Сто наиболее популярных поисковых слов

 

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Г: «Где это сделать?»

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Где это сделать?

 

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Д: «Практическое руководство!!!»

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Краткий комментарий.

Окна, ссылки и меню.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Ссылки и окна. Внешний вид и внутреннее содержание.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Организация ссылок. Всевозможные оглавления.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Если вам не нравятся фреймы, значит, вы не умеете их готовить.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Меню из выпадающих списков (javascript и CSS).

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Многоуровневое раскрывающееся меню (javascript и CSS).

Работа с базами данных.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Обработка баз данных браузером посетителя

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Обработка баз данных сервером (PHP)

Взаимодействие с посетителем

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Отправка писем с веб-страницы.

Формы

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Методы форм.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Создание на сайте PHP голосования.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Регистрация и контроль посетителей (PHP).

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Интерактивность материала.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Создание гостевой книги на PHP.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Удаление записей из текстовых баз (PHP).

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Заргузка файлов на сервер по HTTP-протоколу (PHP).

Разное.

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Псевдослучайные элементы (PHP, javascript).

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Точное определение имени и версии браузера с помощью JavaScript, SSI или PHP

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Клоакинг и технология «Входных дверей».

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Отложенное выполнение и выполнение с заданным интервалом (javascript)

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Информация о размере, дате, собственные счетчики и протоколы посещений

 

 

 

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Консультации

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Экспорт и импорт новостей

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – права доступа к файлам

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать WEB 2.0 – миф, или реальность?

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Давно забытый AJAX

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Способы хранения веб-страниц: документы FrontPage или базы данных

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Как заработать на своем сайте?

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать FTP клиент, как настроить Total Commander

 

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Мониторинг веб сайтов и анализ поисковых запросов

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Документация по Веб-дизайну

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Желающим скачать PHP скрипт или JavaScript

 

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Литература и поэзия

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать Гуманитарные науки

Компьютер Программы WEB-дизайн Гуманитарные науки Документация Справочник Статьи Хронология материалов

Компьютер Программы WEB-дизайн Гуманитарные науки Документация Справочник Статьи Обращение к посетителям

Шрифт Font Шрифты Fonts скачать Скачать шрифты

Реферат по психологии религии логике информатике. рефераты контрольные курсовые работы скачать на халаву психология религия информатика халява логика контрольная курсовая работа Скачать рефераты

Сайты достойные внимания: Web-дизайн программирование документация руководство книга для любителей музыки статьи о создании музыки с помощью компьютера обзоры музыкальных программ музыка в mp3 формате Крымский тур-оператор Фонд «Боспор» Боспор Керчь фестиваль Боспорские агоны рекламная фирма кондиционер частный отель «Казантипская хижина» Азовске побережье Керченского полуострова Украина Крым Достойно внимания

Создание web сайта на заказ Создание web сайта на заказ

Создание, разработка web сайта на заказ. WEB-design Создание веб сайтов (цены)

web Сайты, созданные Красносельским К. К. Веб-дизайн разработка сайтов на заказ. WEB-design Веб-сайты, созданные мной (потенциальным заказчикам)

Полезные ссылки Полезные ссылки

Красносельский К. К. Компьютер Windows DOS система реестр BIOS программы Веб-дизайн PHP Perl CSS HTML CGI Java JavaScript музыка поэзия стихи тексты песен Психология философия психоанализ психиатрия логика сознание разум мышление интуиция развитие человек реферат религия информатика Об авторе

Компьютер Программы WEB-дизайн Гуманитарные науки Документация Справочник Статьи Статистика сайта

Показать фреймы

 

Web На сайте

 

 

ТаблицейБлоками.

PHP chmod – установка и чтение прав доступа в Unix системах с помощью PHP

Последняя модификация: 04.07.2008 г

Страница загружена с адреса: http://webdesign.site3k.net/consulting/php_chmod.html

PHP chmod – установка и чтение прав доступа

Функция chmod языка PHP может вызвать неожиданное затруднение. Понятный и простой, на первый взгляд, синтаксис:

chmod(filename, attrib);

в котором filename определяет имя файла или каталога, для которого трубуется изменить атрибут (режим доступа), а attrib – режим, который требуется установить, имеет ряд скрытых особенностей.

Первой из них, является, конечно же, сетевая система прав доступа, утанавливающая отдельно права для владельца файла, группы, к которой он относится и всех остальных пользователей. Права, обычно представляются строками:

drwxr-x--x
-rw-r--r--

Первый символ описывает тип элемента: дефис "-" означает файл, символ "d" означает каталог. Дальнейшие девять символов описывают права доступа:

r – read право на чтение
w – write право на запись
x – execute право на выполнение*

*право на выполнение для каталога означает возможность просмотреть его содержимое (войти в каталог).

Первые три символа из девяти устанавливают права доступа для владельца, вторые три - для группы, третьи - для всех пользователей. Каждый набор символов r, w, x показывает текущие установленные права доступа для каждой категории пользователей. Если вместо символа стоит дефис, то соответствующее право отсутствует.

Однако, PHP команда chmod не признает указание прав доступа в виде текстовой строки. Права доступа для нее обятельно должны указываться в виде числа от 0 до 7, для каждого типа пользователей. Чтобы понять, как преобразовываются числовые значения в текстовые и, наоборот, полезно представить текстовыу строку в виде битовой маски для однозначности которой необходимо строгое соблюдение порядка атрибутов: 1 группа цифр относится к владельцу файла, вторая к его группе, третья – к остальным пользоватлям. Кроме того, необходимо соблюдать последовательность прав: 1 право чтения, 2 – право записи, 3 – право выполнения.

При соблюдении этих условий, приведенные выше строки

drwxr-x--x
-rw-r--r--

Можно представить как набор двоичных данных:

100.0.111.101.001
1.0.0.110.100.100

(Это фактический набор атрибутов, с точки зрения PHP команды chmod важны лиш последние три набора в каждой строке).

Единица в последних трех группах каждой строки означает наличие права (истину), ноль – его отсутствие (ложь).

Преобразование данного представления в десятиричный формат дает более привычное числовое представление:

ДвоичноеДесятичноеФизический смысл значения
0000ничего не разрешает (только удалять)
0011доступ на выполнение (x)
0102доступ на запись (w)
1004доступ на чтение (r)

Побитовое сложение (сдвиг) значений прав для каждой группы пользователей позволяет сократить десятиричную запись до одного числа в каждой группе:

Двоичное сложениеДесятичнное сложениеФизический смысл
001+010=0111+2=3доступ на выполнение и запись (-wx)
001+100=1011+4=5доступ на выполнение и чтение (r-x)
010+100=1102+4=6доступ на чтение и запись (rw-)
001+010+100=1111+2+4=7доступ на чтение, запись и выполнение (rwx)

Таким образом маска атрибутов для вышеуказаного примера (показаны только последние три группы, имеющие значение для прав доступа):

В текстовом формате имеет вид:

rwx.r-x.--x
rw-.r--.r--

В двоичном:

111.101.001
110.100.100

А в десячичном, приобретает вид:

7.5.1
6.4.4

Именно в таком виде, только без разделяющих точек, и принимает PHP команда chmod значение атрибутов, корорые следует установить.

Но, и это не все! Нельзя просто вписать в PHP-скрипт команду

chmod('myscript.php', 755);

Чтобы сделать файл myscript.php выполняемым: Команда chmod принимает значение прав только в 8-ричном формате! Ну что тут поделаеш – разработчики PHP специально усложняли нам жизнь, чтобы наши мозги не атрофировались. ☺

Чтобы команда chmod нормально выполнялась, ей нужно указать преобразование в 8-ричный формат, поставив перед значением прав ноль:

chmod('myscript.php', 0755);

Вы думаете это все?

Позвольте! Зачем так упрощать себе жизнь? Разработчики PHP позаботились о том, чтобы эта статья не закончилась так просто.

Добавление ноля перед атрибутами хорошо действует, когда вы заранее знаете, какой нужен атрибут. А если нужно сделать так, чтобы права выставлялись формой на HTML-странице? К примеру, вы хотите создать систему управления файлами?

Допустим, из формы приходит переменная $attrib, содержащая значение прав доступа, типа 755. Вы думаете что, приклеете к ним ноль:

chmod('myscript.php', '0'.$attrib);

и, все у вас получится?

Ага, размечтались. Разработчики PHP не позаботились об автоматическом преобразовании десятичного числа в восмиричное, будут они вам строки преобразовывать?

Нет, конечно. Самим придется потрудиться:

chmod('myscript.php',octdec($attrib));

вставляя функцию octdec преобразования числа (или строки, имеющей числовае значение) в восьмиричный формат. Или используя функцию eval:

eval("chmod('myscript.php',0$attrib);");

Да, теперь все заработает. Но только на запись! Попробуйте считать атрибуты функией fileperms и не опплеваться: она вернет все в том же восьмиричном формате! Лично я теряюсь в интерпритации таких значений. Для нормального восприятия, их приходтся предварительно преобразовывать функцией decoct в десятиричный формат, а затем, из полученного результата брать последние 3 символа:

substr(
   decoct(fileperms('myscript.php')),
   strlen(decoct(fileperms('myscript.php')))-3,
   strlen(decoct(fileperms('myscript.php')))
);

Только так можно получить нормальные числовые атрибуты.

Преобразовав каждое из трех цифр в двоичный формат лекго получить буквенное представление прав доступа:
$perms=decoct(fileperms('myscript.php'));
$len=strlen($perms);
if ($len==5){ // вместо длины можно использовать is_dir() и другие методы
	$attrib='d';// каталог
}else{
	$attrib='-';// файл
}

// 1 метод: Вычисление через двоичное преобразование
for($i=$len-3; $i < $len; $i++){
	@$attrib2.=decbin(substr($perms,$i,1));
	if (substr($attrib2,0,1)==1){
		$attrib.='r';
	}else{
		$attrib.='-';
	}
	if (substr($attrib2,1,1)==1){
		$attrib.='w';
	}else{
		$attrib.='-';
	}
	if (substr($attrib2,2,1)==1){
		$attrib.='x';
	}else{
		$attrib.='-';
	}
}

// 2 метод: Прямое вычисление (закомментирован)
//for($i=$len-3; $i < $len; $i++){
//	switch (substr($perms,$i,1)) {
//	case 0:
//		$attrib.='---';
//		break;
//	case 1:
//		$attrib.='--x';
//		break;
//	case 2:
//		$attrib.='-w-';
//		break;
//	case 3:
//		$attrib.='-wx';
//		break;
//	case 4:
//		$attrib.='r--';
//		break;
//	case 5:
//		$attrib.='r-x';
//		break;
//	case 6:
//		$attrib.='rw-';
//		break;
//	case 7:
//		$attrib.='rwx';
//		break;
//	}
//}

Но числовой формат во многих случаях окажется удобней буквенного (сравните 755 и -rwxr-xr-x, что быстрее понимается?).

Вот теперь на языке PHP можно создавать файловые менеджеры и системы управления файлами (однако изменить атрибуты в файлах, загруженых по ftp, может не позволить сервер из-за принадлежности к разным группам).

Смотреть

 

< Предыдущая (Экспорт и импорт) PHP chmod Следующая (Web 2.0)>

 

Комментарии к странице

 

 

 

PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать

 


На главную страницу сайта PHP chmod – установка и чтение атрибутов (прав доступа) в юникс (Unix) системах. пример PHP скрипт скачать