|
|
|
|
chmod - изменение режима доступа к
файлам
|
Denveroid
Все чаще обнаруживается,
что некоторые начинающие сайтостроители,
увлеченные скриптованием (на 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 = 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» (изменить
аттрибуты файла) меню, выпадающего при
клике правой кнопкой мышки по имени файла.
|
 |
[an error occurred while processing this directive] |
 |
|
|
|
|