 Все чаще
обнаруживается, что некоторые начинающие
сайтостроители, увлеченные скриптованием (на
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 |
|
|
| 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» (изменить
аттрибуты файла) меню, выпадающего при клике
правой кнопкой мышки по имени
файла
www.shram.kiev.ua Установка прав на папки и файлы CMS Joomla!По заверениям sourpuss'а надо выставлять следующие права: 644 на файлы и 755 на папки, 777 на папки images и cashe.
Кроме того, при установке вам красными буквами, если прав не хватает,
нарисуются папки и файлы на которые надо выставить права 777. Но только
на время установки. Потом лишние права необходимо убрать. www.joomla-docs.ru
|