chmod - изменение режима доступа к файлам. Статьи. wb0.ru - Все для веб-мастера, on-line сервисы
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.

Обратите внимание на расстановку "галочек". Первыми идут галочки в полях "Владелец": 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 = 4XXX
Write = 2X  
Execute = 1XXX
Сумма:(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" (изменить аттрибуты файла) меню, выпадающего при клике правой кнопкой мышки по имени файла.

 Чтение (Read)Запись (Write)Выполнение (Execute)
Владелец (Owner) Разрешить чтение владельцу Разрешить запись владельцу Разрешить выполнение владельцу
Группа (Group) Разрешить чтение группе Разрешить запись группе Разрешить выполнение группе
Общие (World) Разрешить чтение всем Разрешить запись всем Разрешить выполнение всем

Дата публикации: 31.01.2008
Denveroid,
sitemaker.ru


Комментарии:
  1. Гала: Вы мне помогли. Спасибо.
    Добавлен: 2008-01-31


   Ваш псевдоним:
Ваш комментарий:

Календарь событий


Новости Интернет


Поиск





Последний пересчет

тИЦ:07 Окт 15
PR:09 Дек 13

Наши партнеры

wservices.ru - регистрация доменов, Whois-сервисы Смайлы на все случаи жизни


 
Copyright © 2006-2024, wb0.ru