Портал для веб-мастера
Вход пользователей
Поиск статей
WoWeb.ru » Статьи » Apache

chmod - изменение режима доступа к файлам

Все чаще обнаруживается, что некоторые начинающие сайтостроители, увлеченные скриптованием (на perl/cgi, php и т.д.) не знают, что такое chmod и как его использовать. В этом кратком руководстве вы узнаете что такое chmod, как он выставляется и для чего вообще это нужно.

Очень важно иногда назначить права доступа на определенные файлы и папки, находящиеся на веб сервере, будь то в целях безопасности или просто для корректной работы скрипта. Это действие и называется chmod (change file mode), или по-русски: изменение режима доступа к файлам. Это название берет свое начало с команды Unix - chmod, которая изменяет разрешения на файлы. Со временем «chmod» стал синонимом слова «разрешение» («permission»).

Существует три группы пользователей, права которых нас будут интересовать: владелец файла, группа и остальные пользователи.

Создавая файл, пользователь автоматически получает самые широкие права на делание с этим файлом чего угодно, его группа - несколько меньшие права, а все остальные - совсем ничтожные. В Unix есть только три основных права - читать файл или просматривать каталог («Read»), изменять файл или папку, записывая в неё что-нибудь, или вообще её удалять («Write»). Последнее право - право на запуск файла («eXecute»).

Режим chmod может обозначаться в числовом или символьном формате. Например: 755, rwxrxrx, 644 и т.д.

Как вы уже поняли, символы r, w и x обозначают, соответственно, read, write и execute. Выставлять права на файлы таким образом можно через любой ftp-клиент, например CuteFTP. Вот так выглядит окно установки chmod в этой программе:
Обратите внимание на расстановку «галочек». Первыми идут галочки в полях «Владелец»: read, write, execute (rwx); потом идут поля «Группы»: read, execute (rx); и наконец поля «Остальных»: read, execute (rx). В итоге мы получили права rwxrxrx на файл (по очереди букв и полей). То есть, владелец может читать, записывать и исполнять файл; «группа» и «остальные» имеют право на чтение и исполнение файла, но не на запись! Теперь вы должны осознавать важность установки прав на файлы и постараться обеспечить максимальную безопасность ваших скриптов и данных на сервере с помощью этого инструмента.

Обратите внимание на число 755 в поле Manual. Оказывается, каждое право имеет определенный числовой код и может быть выставленно вручную:

  • 400 — владелец имеет право на чтение;
  • 200 — владелец имеет право на запись;
  • 100 — владелец имеет право на выполнение;
  • 40 — группа имеет право на чтение;
  • 20 — группа имеет право на запись;
  • 10 — группа имеет право на выполнение;
  • 4 — остальные имеют право на чтение;
  • 2 — остальные имеют право на запись;
  • 1 — остальные имеют право на выполнение.
Сумма этих пунктов дает желаемый chmod. Например, мы хотим чтобы владелец мог делать все, а группа и остальные — только читать файл. Складываем: 400+200+100+40+4=744. То есть нам необходим chmod 744. Теперь осталось только просуммировать числа, соответствующие тем правам доступа, которые мы хотим поставить файлу, и установить их.

Примеры:

400+40+4=444 — все имеют право только на чтение.

400+100+10+1=611 — владелец может читать и выполнять, остальные — только выполнять.

400+200+40+4=644 — означает, что вы позволяете всем его читать, но писать в этот файл может только владелец файла. Даже если вы являетесь владельцем файла и открываете его в браузере, то вы не сможете ничего в него записать, поскольку доступ через браузер делает вас анонимным пользователем.

400+200+40+20+4+2=666 — означает, что все могут и читать и писать этот файл. Это необходимо, чтобы пользовател могли делать записи в гостевых книгах, форумах и т.д.

400+200+100+40+10+4+1=755 — классическая команда для cgi-скритпа. CGI-скрипт — это исполняемый файл, и все должны иметь к нему доступ на чтение и выполнение. Только владелец этого файла может его изменять или удалять.

Приведу еще более удобную, на мой взгляд, таблицу расчета chmod:

Значения Owner (Владелец) Group (Группа) Public (Остальные)
Read = 4 X X X
Write = 2 X   X
Execute = 1 X X X
Сумма: (4 + 2 + 1) = 7 (4 + 1) = 5 (4 + 1) = 5

И в завершении кратко скажу о том, как эти разрешения устанавливаются. Делается это с помощью любого ftp-клиента:

  • В Windows Commander они изменяются через пункты меню «Файл» > «Изменить аттрибуты». При этом изменяются разрешения на выделенный файл (файлы) и/или папки.
  • В FAR Manager разрешения выделенных файлов изменяются нажатием Ctrl+A:
    [x][x][ ] [x][x][ ] [x][x][ ] - 666
    [x][x][x] [x][ ][x] [x][ ][x] - 755
  • В CuteFTP разрешения меняются с помощью пункта «Change file attributes» (изменить аттрибуты файла) меню, выпадающего при клике правой кнопкой мышки по имени файла.
Автор: Denveroid · Добавлена: 2003-09-20
Источник статьи · Просмотров: 10073 · Рейтинг: 4.3

Всего комментариев: 1
[1] djalal hamraoui(djalal2500) 2011-10-06, 3:34 PM
hi Спам

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Категории раздела
Flash
Apache
WWW
PhotoShop
Веб-дизайн
Раскрутка и реклама
Базы данных
3D графика
Хостинг
Истории веб-мастеров
Web-технологии
Сетевая безопасность
Программирование для Web
Операционные системы

Новые статьи
Лучшие статьи
Популярные статьи
Комментируемые статьи
Разделы сайта
Скрипты
Статьи
Шрифты
Флэш исходники
HTML шаблоны
Партнерки
Клипарты
Смайлы
Фоны
Гифы
Иконки
Опрос сайта
Есть ли у вас свой сайт?
Всего ответов: 141051
Наша кнопка
WoWeb.ru - портал для веб-мастера