Права доступа и изменение атрибутов файлов
Самой распространенной проблемой, с которой сталкиваются большинство пользователей на начальной стадии изучения основ создания сайтов и веб проектов, это изменение атрибутов файлов (CHMOD, 777 и т.п.). Атрибуты файла можно изменить непосредственно программой, которую вы используете для загрузки файлов на сервер или веб оболочкой, в случае если таковая предоставляется Вашим хостинг провайдером. FTP команда CHMOD - это упрощённая система прав доступа, которая используется в Unix (Linux) системах и соответственно на Unix (Linux) хостингах. Для серверов работающих на основе систем Windows в установке прав доступа нет необходимости.
Очень важно иногда назначить права доступа на определённые файлы и папки, находящиеся на веб-сервере, будь то в целях безопасности или просто для корректной работы скрипта. Это действие и называется chmod (change file mode), или по-русски: изменение режима доступа к файлам. Это название берёт свое начало с команды Unix - chmod, которая изменяет разрешения на файлы. Со временем «chmod» стал синонимом слова «разрешение» («permission»).
Когда какой-то CGI- или PHP-скрипт пытается записать данные в файл, он должен иметь соответствующее разрешение от операционной системы (Unix, Linux и им подобной). Без разрешения скрипт просто получит ошибку и не запишет никаких данных. Чтобы дать скрипту разрешение на запись в определённые файлы, на эти файлы должны быть установлены соответствующие разрешения (права). Процесс установки таких разрешений обычно называется установкой CHMOD. Итак, под CHMOD обычно понимается изменение прав доступа к файлу или каталогу.
На серверах под управлением Windows Server упрощённая система установки прав через атрибуты не работает и не используется. На Windows системах установки прав на файлы и каталоги эквивалентна максимальным правам, которые задаются через CHMOD.
Установка прав на файлы и каталоги (папки, директории)
Права доступа - это атрибуты файла или каталога, которые указывают серверу кто и что может делать с соответствующим файлом или каталогом. Обычно права доступа регламентируют такие действия как чтение, запись в файл (или каталог), исполнение.
В системах Unix (Linux) все пользователи разделяются на три группы:
user - непосредственно владелец файла;
group - член той же группы, к которой принадлежит владелец файла;
world - все остальные.
Когда вы соединяетесь с сервером, он определяет, к какой группе вы относитесь. Например, подключаясь к серверу по FTP, вы входите под своим именем пользователя, соответственно сервер относит вас к группе user. Другие пользователи, подключаясь по FTP, будет отнесены к группе group, а когда человек попадает к вам на сайт через свой браузер, то он попадает в группу world.
После определения группы пользователь получает права на действия с объектами, то есть он может прочитать, записать или выполнить файл. Чтобы просмотреть каталог, он должен быть исполняемым, чтобы просмотреть его содержимое, он должен иметь атрибут чтения, а чтобы создать новый файл или каталог в существующем каталоге, необходимо иметь право на запись. Таким образом, чтобы выполнялось приложение или CGI- или PHP-скрипт, необходимо ставить на каталог атрибут чтения и выполнения.
Создавая файл, пользователь автоматически получает самые широкие права на делание с этим файлом чего угодно, его группа — несколько меньшие права, а все остальные — совсем ничтожные права. В Unix (Linux) есть только три основных права — читать файл или просматривать каталог («Read»), изменять файл или каталог, записывая в него что-нибудь, или вообще его удалять («Write»). Последнее право — право на запуск файла («eXecute»).
Чтобы распределить права для соответствующих групп, используются цифровые обозначения:
4 = read (право на чтение);
2 = write (право на запись);
1 = execute (право на выполнение).
Первая цифра в обозначении устанавливает права для группы user (т.е. фактически для вас), вторая для группы group и третья для world.
Простым сложение цифр можно добиться установления прав на совокупность действий. Например:
3 (2+1) - разрешает запись и выполнение файла (каталога);
5 (4+1) - разрешает чтение и выполнение;
6 (4+2) - разрешает чтение и запись;
7 (4+2+1) - устанавливает право чтения, записи и выполнения.
То есть существует всего семь вариантов:
7 = read, write & execute (чтение, запись, выполнение);
6 = read & write (чтение и запись);
5 = read & execute (чтение и выполнение);
4 = read (чтение);
3 = write & execute (запись и выполнение);
2 = write (запись);
1 = execute (выполнение).
Для установления прав доступа используется команда CHMOD.
Несмотря на это, еще никому не помешало знать чуть больше о командах Unix. Так вот, команда chmod имеет два режима: Абсолютный (цифровой) и Символьный режим. Команда chmod, используемая в Unix, или команда site chmod, используемая в некоторых FTP-менеджерах (-клиентах) (FTP Explorer, например), могут использоваться в обоих режимах.
При Абсолютном (цифровом) режиме используется описанный выше 3-х цифровой код прав доступа. Символьный режим использует буквенный формат для установки прав доступа. Здесь используются буквы r (read, чтение), w (write, запись) и x (execute, выполнение). А также u (user, пользователь), g (group, группа), o (other (world), другие, весь мир) и a (all, все [не используется]).
Вот несколько наиболее часто встречающихся сочетаний:
CHMOD 755 - Для директорий, CGI-скриптов, PHP-скриптов
CHMOD 644 - Для обычных файлов, PHP-скриптов
CHMOD 600 - Скрыть файлы от всех, кроме ваших скриптов
Во всех современных FTP-клиентах присутствует возможность назначения прав доступа путем простановки «галочек» в чекбоксах, либо просто введением цифрового кода в соответствующее поле.
Очень важно иногда назначить права доступа на определённые файлы и папки, находящиеся на веб-сервере, будь то в целях безопасности или просто для корректной работы скрипта. Это действие и называется chmod (change file mode), или по-русски: изменение режима доступа к файлам. Это название берёт свое начало с команды Unix - chmod, которая изменяет разрешения на файлы. Со временем «chmod» стал синонимом слова «разрешение» («permission»).
Когда какой-то CGI- или PHP-скрипт пытается записать данные в файл, он должен иметь соответствующее разрешение от операционной системы (Unix, Linux и им подобной). Без разрешения скрипт просто получит ошибку и не запишет никаких данных. Чтобы дать скрипту разрешение на запись в определённые файлы, на эти файлы должны быть установлены соответствующие разрешения (права). Процесс установки таких разрешений обычно называется установкой CHMOD. Итак, под CHMOD обычно понимается изменение прав доступа к файлу или каталогу.
На серверах под управлением Windows Server упрощённая система установки прав через атрибуты не работает и не используется. На Windows системах установки прав на файлы и каталоги эквивалентна максимальным правам, которые задаются через CHMOD.
Установка прав на файлы и каталоги (папки, директории)
Права доступа - это атрибуты файла или каталога, которые указывают серверу кто и что может делать с соответствующим файлом или каталогом. Обычно права доступа регламентируют такие действия как чтение, запись в файл (или каталог), исполнение.
В системах Unix (Linux) все пользователи разделяются на три группы:
user - непосредственно владелец файла;
group - член той же группы, к которой принадлежит владелец файла;
world - все остальные.
Когда вы соединяетесь с сервером, он определяет, к какой группе вы относитесь. Например, подключаясь к серверу по FTP, вы входите под своим именем пользователя, соответственно сервер относит вас к группе user. Другие пользователи, подключаясь по FTP, будет отнесены к группе group, а когда человек попадает к вам на сайт через свой браузер, то он попадает в группу world.
После определения группы пользователь получает права на действия с объектами, то есть он может прочитать, записать или выполнить файл. Чтобы просмотреть каталог, он должен быть исполняемым, чтобы просмотреть его содержимое, он должен иметь атрибут чтения, а чтобы создать новый файл или каталог в существующем каталоге, необходимо иметь право на запись. Таким образом, чтобы выполнялось приложение или CGI- или PHP-скрипт, необходимо ставить на каталог атрибут чтения и выполнения.
Создавая файл, пользователь автоматически получает самые широкие права на делание с этим файлом чего угодно, его группа — несколько меньшие права, а все остальные — совсем ничтожные права. В Unix (Linux) есть только три основных права — читать файл или просматривать каталог («Read»), изменять файл или каталог, записывая в него что-нибудь, или вообще его удалять («Write»). Последнее право — право на запуск файла («eXecute»).
Чтобы распределить права для соответствующих групп, используются цифровые обозначения:
4 = read (право на чтение);
2 = write (право на запись);
1 = execute (право на выполнение).
Первая цифра в обозначении устанавливает права для группы user (т.е. фактически для вас), вторая для группы group и третья для world.
Простым сложение цифр можно добиться установления прав на совокупность действий. Например:
3 (2+1) - разрешает запись и выполнение файла (каталога);
5 (4+1) - разрешает чтение и выполнение;
6 (4+2) - разрешает чтение и запись;
7 (4+2+1) - устанавливает право чтения, записи и выполнения.
То есть существует всего семь вариантов:
7 = read, write & execute (чтение, запись, выполнение);
6 = read & write (чтение и запись);
5 = read & execute (чтение и выполнение);
4 = read (чтение);
3 = write & execute (запись и выполнение);
2 = write (запись);
1 = execute (выполнение).
Для установления прав доступа используется команда CHMOD.
Несмотря на это, еще никому не помешало знать чуть больше о командах Unix. Так вот, команда chmod имеет два режима: Абсолютный (цифровой) и Символьный режим. Команда chmod, используемая в Unix, или команда site chmod, используемая в некоторых FTP-менеджерах (-клиентах) (FTP Explorer, например), могут использоваться в обоих режимах.
При Абсолютном (цифровом) режиме используется описанный выше 3-х цифровой код прав доступа. Символьный режим использует буквенный формат для установки прав доступа. Здесь используются буквы r (read, чтение), w (write, запись) и x (execute, выполнение). А также u (user, пользователь), g (group, группа), o (other (world), другие, весь мир) и a (all, все [не используется]).
Вот несколько наиболее часто встречающихся сочетаний:
CHMOD 755 - Для директорий, CGI-скриптов, PHP-скриптов
CHMOD 644 - Для обычных файлов, PHP-скриптов
CHMOD 600 - Скрыть файлы от всех, кроме ваших скриптов
Во всех современных FTP-клиентах присутствует возможность назначения прав доступа путем простановки «галочек» в чекбоксах, либо просто введением цифрового кода в соответствующее поле.