Все чаще
обнаруживается, что некоторые начинающие
сайтостроители, увлеченные скриптованием (на
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» (изменить
аттрибуты файла) меню, выпадающего при клике
правой кнопкой мышки по имени
файла.