Chmod (777, 755, 444) — настройка прав доступа к файлам и папкам сайта на сервере хостинга
Здравствуйте, уважаемые читатели блога Goldbusinessnet.com. Регулирование доступа к файлам и папкам, расположенным на веб-серверах под управлением UNIX-подобных операционных систем (а они установлены на подавляющем большинстве хостингов), происходит посредством указания прав chmod для пользователей, что позволяет по максимуму обезопасить сайт. Кстати, серверы Спринтхоста, где хостится несколько моих проектов, в этом смысле не являются исключением.
Алгоритм, установленный в операционках Unix, отличается от привычного для многих регламента работы с файлами и каталогами в OS Windows, где защита в этом аспекте не так сильна, что весьма нередко приводит к плачевным последствиям в виде заражения системы вирусами.
При управлении же ОС на базе Unix существует реальная возможность снизить до минимума риск несанкционированного доступа просто правильно настроив chmod (данное название программы для изменения прав доступа происходит от английского словосочетания «change mode»).
Тогда основной задачей будет указание минимально возможных для доступа к файлам и папкам прав, которые тем не менее не нарушат корректную работу сайта.
Согласитесь, грех не воспользоваться возможностью серьезно усилить степень защиты вашего веб-ресурса. Конечно, в этом случае редактирование некоторых файлов будет занимать немного больше времени, но тут уж приходится выбирать: либо оптимизация безопасности системы, либо. Ниже я постараюсь систематизировать информацию по chmod, потому что здесь есть несколько нюансов, которые необходимо знать вебмастеру. Итак, начнем.
Chmod для пользователей и права доступа
Для каждой группы пользователей определены свои права доступа. При попытке соединения веб-сервер определяет, к какой группе отнести того или иного юзера. Все они разделяются на:
- «user» (u) — владелец файла;
- «group» (g) — один из членов группы, к которой принадлежит и владелец;
- «others» (o) — все остальные пользователи.
Если вы подключаетесь к серверу по протоколу FTP и заходите под своим логином и паролем, то будете идентифицированы как «user», если кто-либо другой подключается по ФТП, то будет определен как «group», ежели пользователь использует браузер, то попадет в категорию «world».
Теперь о правах доступа chmod к файлам и директориям. По сути они немного отличаются, хотя обозначения применяются одни и те же. Права доступа к файлам позволяют производить следующие операции с объектами:
- r (read) — чтение (возможность просмотра содержания);
- w (write) — запись, перезапись (изменение содержимого), но не удаление;
- x (eXutive) — исполнение (например, запуск программного файла).
Права доступа к папкам (директориям, или каталогам) дают совершать такие действия:
- r — чтение (можно получить список имен объектов, входящих в каталог, но не их атрибутов, то есть, невозможен просмотр размеров файлов, прав доступа, имени владельца и т.д.);
- w — изменение содержимого (создание, переименование и удаление объектов в директории, причем, удалять можно даже те файлы, право на запись для которых не установлено);
- x — доступ в каталог (особенность здесь такая, что если даже вы имеете все необходимые права на файл, который расположен «в глубине директорий», но не имеете права доступа хотя бы к одной поддиректории на пути к этому объекту, то не сможете добраться до него), включая возможность просмотра атрибутов (свойств) файлов.
Все эти права указываются администратором, который получает эту возможность посредством ввода пароля. Если установить максимально возможные ограничения на доступ к тем или иным файлам сайта, то можно максимально обеспечить его защищенность.
Если обратить внимание на выше представленные права в отношении каталогов (папок), то атрибут «w» имеет практический смысл только в сочетании с «x».
Таким образом, мы имеем пользователей «u», «g», «o» и соответственно права «r», «w», «x», причем, порядок их отображения слева направо следующий:
- первым идет комплекс прав для владельца (u);
- далее для группы (g);
- и в конце — для всех остальных (o).
Для наглядности рассмотрим пример, когда владелец файла («u») имеет все возможные права: на чтение, запись и исполнение (r, w и x). Пользователи, отнесенные к категориям «g» (group) и «o» (others) — только на чтение(r). Тогда полная запись chmod по порядку отображения прав будет выглядеть таким образом (значком дефиса «-» отмечают отсутствие какой-либо категории прав):
Итак, в соответствии с выше представленной информацией существует три группы пользователей и три категории действий с объектами. Чтобы не запутаться, попробуем систематизировать эти данные в форме таблиц. Для начала отметим отличия между правами для файлов и каталогов:
Тип прав | Для файла | Для папки |
---|---|---|
r | Чтение (просмотр содержания) | Изучение имен файлов, входящих в директорию |
w | Запись (перезапись) | Добавление, переименование и удаление файлов в каталоге |
x | Выполнение файлика | Доступ к файлам каталога и чтение их атрибутов |
Далее рассмотрим разные сочетания прав (на файлы и папки):
Тип прав для пользователей (rwx) | Для файла | Для папки |
---|---|---|
— | Все запрещено | Все запрещено |
—x | Выполнение | Чтение атрибутов файлов |
-w- | Запись (перезапись) | Все запрещено |
-wx | Запись и выполнение | Разрешено все, кроме получения имен файлов, находящихся в папке |
r— | Чтение содержимого | Чтение имен файлов |
r-x | Чтение и выполнение | Чтение имен файлов и их атрибутов |
rw- | Чтение и запись | Чтение имен файлов |
rwx | Все возможные права | Все возможные права |
Информация о правах доступа из выше приведенной таблички позволяет сделать очевидные и во многом полезные для практического применения выводы.
- «—x» (чтение атрибутов входящих в папку файлов без получения их названий);
- «-w-» (по сути это полный запрет, поскольку нет возможности осуществлять действия над объектами без получения полноценного доступа к ним);
- «-wx» (все действия возможны исключая доступ к наименованиям файлов);
- «rw-» (получение списка имен файлов, по сути он дублирует «r—»).
Например, возьмем вариант «-wx» и вкратце проанализируем его. В принципе, он разрешает абсолютно все действия (конечно, при условии, что и на файлики прописаны нужные права), но закрывает доступ к именам объектов в директории, что согласитесь, веет бессмыслицей, так как во многих случаях операции с объектами основываются на знании их наименований. В этом случае, наверное, лучше использовать режим «—», который запрещает всё.
Права доступа в цифрах: chmod (777, 755, 655, 444, 400)
Выше мы разобрали вариант записи чмод символами. Однако, во многих смыслах гораздо удобнее назначать те или иные права доступа в цифровом выражении:
- r (чтение) — 4
- w (запись) — 2
- x (исполнение) — 1
- — (нет прав) — 0
Теперь вновь разберем вышеприведенный пример для назначения прав доступа «rwxr—r—». Для отображения прав каждого пользователя применяется сложение его прав: r (чтение) + w (запись) + x (исполнение). Таким образом, часть записи для владельца файла u (user) «rwx» превратится в 7 (4+2+1). Для членов групп g (group) и o (others) запись «r—» преобразуется в 4 (4+0+0). Тогда вся совокупность прав в цифровом выражении будет выглядеть как «744».
В качестве резюме представлю сводную таблицу с правами доступа chmod в буквах и цифрах:
chmod | Файлы | Папки (директории) | |
---|---|---|---|
Выражен. в цифрах | Выражен. в символах | ||
— | Запрещены все действия | Запрещены все действия | |
1 | —x | Выполнение | Чтение атрибутов файлов* |
2 | -w- | Запись | Запрещены все действия |
3 (2 + 1) | -wx | Запись и выполнение | Разрешено все, кроме доступа к именам файлов** |
4 | r— | Чтение содержимого | Чтение имен файлов |
5 (4 + 1) | r-x | Чтение и выполнение | Чтение имен файлов и их атрибутов*** |
6 (4 + 2) | rw- | Чтение и запись | Чтение имен файлов |
7 (4 + 2 +1) | rwx | Все разрешено | Все разрешено |
* — нет возможности получения имен файлов, а также их создания/переименования/удаления.
** — можно создавать/переименовывать/удалять файлы, но отсутствует доступ к их названиям.
*** — нельзя создавать/переименовывать/удалять файлы в директории.
Теперь представлю еще одну таблицу, которая отражает суммарные права chmod для абсолютно всех групп пользователей (user, group, others) в формате цифр:
chmod | Владелец u (user) | Член группы g (group) | Другие пользователи 0 (others) |
---|---|---|---|
777 | Чтение, запись, исполнение | Чтение, запись, исполнение | Чтение, запись, исполнение |
776 | Чтение, запись, исполнение | Чтение, запись, исполнение | Чтение, запись |
775 | Чтение, запись, исполнение | Чтение, запись, исполнение | Чтение, исполнение |
774 | Чтение, запись, исполнение | Чтение, запись, исполнение | Чтение |
766 | Чтение, запись, исполнение | Чтение, запись | Чтение, запись |
755 | Чтение, запись, исполнение | Чтение, исполнение | Чтение, исполнение |
655 | Чтение, запись | Чтение, исполнение | Чтение, исполнение |
644 | Чтение, запись | Чтение | Чтение |
444 | Чтение | Чтение | Чтение |
Это основные комбинации, которые наиболее часто используются в работе вебмастера. Другие формируются по аналогии. Если вы являетесь администратором сайта, но работаете с проектом, не подсоединившись по FTP протоколу, вы также относитесь к группе «Остальные пользователи». В таком случае при работе с сайтом нужно учитывать последнюю цифру в значении chmod.
Для примера возьмем файл с каким-нибудь скриптом. Чтобы он запускался при определенных действиях пользователя на сайте, вполне достаточно, чтобы на этот файлик были установлены права «4» («r—»). Можно и выше (5, 6, 7), но это не имеет смысла, так как при том же эффекте понизится уровень безопасности ресурса. На папку, в которой находится файлик со скриптом, уже требуются права «5» (доступ к директории и чтение содержимого), но опять же, не больше.
Ежели необходимо, чтобы скрипт не только предоставлял какую-то информацию, но и записывал данные (скажем, те, которые вводят посетители), то права в отношении каталога как минимум (он же и максимум, опять же, исходя из безопасности) потребуются «5», однако, для файла уже надо при этих обстоятельствах проставить «6» (что обеспечит чтение и запись).
Ежели у вас простенький сайт с использованием HTML-страниц, то на сервере, где расположены его файлики, достаточно на каталоги иметь права 755, а на файлы, входящие в их состав, 644:
Владелец (user) имеет право читать и записывать файлы (исполнять запрещено), члены группы (group) и остальные (others) могут лишь их читать (rw-r—r—)
Владелец (user) вправе выполнять все действия, а группа и другие пользователи имеют доступ к директории, могут просматривать названия и атрибуты файликов, однако, не имеют прав их записывать, изменять названия и удалять (rwxr-xr-x)
Однако фокус в том, что в современных условиях для построения вебсайтов в массовом масштабе используются CMS (системы управления контентом), к которым относится и WordPress. А здесь могут находиться объекты, в которые необходимо производить записи от группы пользователей «others», а также, к примеру, папки с кэшем (в том числе создаваемые плагином кеширования), в которые загружается контент, включая изображения.
Поэтому назначения прав Чмод на те или иные файлы необходимо дифференцировать. Если вы входите в управление вебсайтом по FTP, то можете производить любые действия, однако во многих случаях работаем со своим проектом происходит через браузер (веб-обозреватель).
А в этом случае могут возникнуть проблемы, если права слишком завышены, и, наоборот, если права доступа к тому или иному файлу (папке) занижены, то возрастает угроза безопасности. Посему на основании вышесказанного можно определить некоторые рекомендации по практическому применению chmod для современного сайта под управлением ЦМС:
Для каталогов, где постоянно происходит запись и стирание файлов (например, для папки кэширования)
Применительно к папкам, в которые постоянно записываются файлы, но не удаляются
Для файлов, куда необходимо время от времени добавлять запись (пример — файл .htaccess)
Для файлов, используемых только для чтения (.php, .html и др.)
Также рекомендую на папки, находящиеся в корне сайта, поставить код доступа Чмод 444.
Указание прав доступа для сайта с помощью ФТП клиента
Теперь подробнее о том, как проделать операцию установки нужного значения chmod с помощью специальной программы, позволяющей соединиться с сервером хостинга, на котором находятся файлы, распределенные по каталогам (папкам).
Со своей стороны порекомендую ФТП менеджер (клиент) Файлзилла, который уже давно доказал свою надежность и безотказность в работе на протяжении длительного времени. Итак, открываете программу и соединяетесь посредством FTP к серверу хостера. В левой части «Удаленный сервер» сначала отмечаем файлы или папки, атрибуты которых будут подвергнуты редактированию:
И из контекстного меню, вызванного нажатием правой кнопки мыши, выбираем «Права доступа к файлу». После этого появится диалоговое окно «Изменить атрибуты файла» (на скриншоте ниже предоставлены примеры отдельно для файла и каталога):
Присваиваем необходимые значения Чмод для выбранного (или выбранных) файлов либо папок. Обращаю внимание на то, что при редактировании прав доступа на папку присутствует опция «Перенаправить во вложенные каталоги». Это значит, что заданные права доступа применяются ко вложенным в эту директорию каталогам (папкам) либо файлам.
При отмеченной галочке ниже расположенная группа настроек станет активной и вам потребуется еще выбрать, как нужно применять настройки: ко всем файлам и каталогам, только ко вложенным файлам либо только к каталогам. Теперь, думаю, процесс установки chmod на практике понятен.
Источник
Права на файлы и папки
Права доступа к файлам и папкам определяют, какие пользователи и в каком объёме могут получить доступ к файлам и папкам на сервере. Это позволяет защитить сайт от злоумышленников и повысить его безопасность.
Уровни прав на файлы и папки
- Право на чтение файла (обозначается буквой r — read). Для папки это значит, что пользователь может увидеть список файлов и папок, находящихся в этой папке.
- Право на редактирование и удаление файла (обозначается буквой w — write). Для папки это разрешение на создание файлов в этой папке.
- Право на исполнение (обозначается буквой x — eXecute). Разрешен доступ к файлу для запуска программ или скриптов, записанных в этом файле. Для папок право на исполнение разрешает перейти в эту директорию.
Способы записи прав доступа
Права доступа могут записываться цифрами или буквами. Каждой цифре соответствует свой набор правил. Знак “-” обозначает отсутствие прав.
Цифровая запись | Буквенная запись | Права |
---|---|---|
«0» | — | Ничего не разрешено |
1 | —х | Исполнение |
2 | -w- | Запись |
3 | -wx | Запись и исполнение |
4 | r— | Чтение |
5 | r-x | Чтение и исполнение |
6 | rw- | Чтение и запись |
7 | rwx | Чтение, запись и исполнение |
Категории пользователей
Права доступа различаются для различных групп пользователей. При попытке соединения сервер определяет, к какой группе отнести того или иного пользователя. Все пользователи разделяются на три категории:
- «user» — владелец файла;
- «group» — один из членов группы, к которой принадлежит и владелец;
- «world» — “остальной мир”, то есть все остальные пользователи.
Права записываются последовательно: сначала права владельца файла, потом права группы владельца, а затем права всех остальных.
Права 755 (в буквенном виде: rwxr-xr-x) показывают, что владелец имеет полный доступ (7, или rwx), группа владельца и все остальные могут открыть и запустить файл, но не могут изменить и удалить его (5, или r-x).
Как изменить права на файлы и папки
Стандартными правами для папок являются «755», а для файлов — «644», но возможны исключения, о которых должен знать разработчик сайта.
Изменить права на файлы и папки можно в панели управления или по SSH.
1 способ. Установка прав на файлы и папки в панели управления
1. Откройте панель управления хостингом ISPmanager. Для этого перейдите в Личный кабинет. В строке услуги хостинга нажмите на 3 точки. В выпадающем списке нажмите Войти в панель управления.
2. Перейдите в раздел «Менеджер файлов» — «WWW». Выберите необходимый файл/папку из списка и нажмите Атрибуты:
3. Установите необходимые права и нажмите Ок:
2 способ. Установка прав на файлы и папки по SSH
2. Чтобы настроить права к отдельному файлу, введите команду:
chmod 755 /var/www/file_name
Где, var/www -путь до корневой папки, file_name — название файла.
Чтобы изменить права для всех директорий внутри указанной, введите команду:
find /dir_name -type d -exec chmod 755 <> \
Чтобы изменить права для всех файлов внутри указанной директории, введите команду:
find /dir_name -type f -exec chmod 644 <> \
Где dir_name — полный путь до корневой папки сайта (В какой каталог нужно загружать файлы сайта?).
Источник
Ручная настройка прав доступа к файлам и папкам в системе Windows
Нет. Учетная запись не позволяет просматривать файлы пользователям, которые имеют стандартный аккаунт на компьютере. Впрочем, учетная запись не препятствует просмотру файлов пользователям с учетной записью администратора.
Если на компьютере есть другие учетные записи администраторов, вместо применения разрешений можно защитить файлы с помощью файловой системы с шифрованием (EFS).
Дополнительные сведения см. Что такое шифрованная файловая система (EFS)
Если на компьютере вы создаете учетную запись другого пользователя, убедитесь, что это не учетная запись администратора, а стандартный аккаунт.
Опасно ли применять разрешения на использование файла или папки?
Да. Windows автоматически применяет разрешения на использование файлов или папок на основе настроек учетной записи пользователя и группы безопасности, к которой принадлежит учетная запись (если группы безопасности используются).
Если разрешения на использование файла или папки применяются вручную, это может привести к непредсказуемым результатам вследствие конфликта с имеющимся разрешениям. Разрешения на использование для применения вручную предназначены только для опытных пользователей. Если при попытке получить доступ к общему файлу или папке отображается сообщение ошибки доступа, опытный пользователь может попытаться изменить разрешения на доступ к файлу или папке вручную.
Нужно ли применять разрешения для совместного использования моих файлов другим пользователям компьютера?
Нет. Для общего пользования файлами лучше использовать отдельную папку, переместить файлы в общую папку или воспользоваться мастером совместного использования.
В зависимости от того, кому вы решите предоставить доступ к файлу или папке, вы сможете применять разрешения к некоторым своим файлов. Дополнительные сведения об обмене файлами, см. Общий доступ к файлам.
В таблице ниже приведены уровни разрешений, которые обычно доступны для файлов и папок.
Пользователи могут просматривать содержимое файла или папки, изменять существующие файлы или папки, создавать новые файлы и папки и запускать программы, расположенные в папке.
Пользователи могут изменять существующие файлы и папки, но не могут их создавать.
Чтение и выполнение
Пользователи могут просматривать содержимое существующих файлов и папок, а также запускать программы, расположенные в папке.
Пользователи могут просматривать содержимое папки и открывать файлы и папки.
Пользователи могут создавать новые файлы и папки, а также изменять существующие файлы и папки.
Применение разрешений к файлу или папке
Чтобы применить разрешения на использование файла или папки Windows вручную, выполните следующие действия.
Разрешения на использование для применения вручную предназначены только для опытных пользователей, поскольку их применение может привести к непредсказуемым результатам.
Источник
Как стать владельцем файла или папки и получить доступ на просмотр и редактирование
Читайте о причинах отсутствия прав на просмотр и редактирование папки и как его получить . Если во время редактирования вы получили отказ в доступе к файлу или папке в ОС Windows , значит у вас нет прав на изменение данного объекта. Если вы включили отображение скрытых и системных файлов в Проводнике, но суммарный размер файлов и папок гораздо меньше чем занятое место на диске, значит не все объекты диска доступны вам для просмотра. Вы не видите какими файлами и паками занято пространство диска.
В Windows пользователь, являющийся владельцем, автоматически получает право на изменение прав доступа, чтение и редактирование этого объекту. Этот пользователь всегда имеет доступ к файлу или папке, даже если другие разрешения, казалось бы, противоречат этому доступу. Во время создания файла или папки, учетная запись пользователя, под которой вы вошли в систему, автоматически получает право собственности.
Однако вы можете столкнуться с необходимостью изменить текущего владельца на себя или другого пользователя. Причиной этого может быть удаление учетной записи пользователя, одновременная работа нескольких пользователей компьютера или использование жесткого диска с другого ПК. Изменение владельца недоступных папок и файлов будет наилучшем решением таких проблем.
Во-первых, убедитесь, что вы вошли в систему с учетной записью с правами администратора. По умолчанию любая учетная запись с правами администратора может владеть файлом или папкой в Windows. Щелкните правой кнопкой мыши по файлу или папке и выберите «Свойства» в контекстном меню.
Источник