Требуются ли права на файлы уровня 777
При работе с файлами, расположенными на веб-сервере, часто возникает необходимость установить или изменить права доступа к папкам и файлам (chmod) вида 777. В семействе серверных операционных систем Unix, права доступа (chmod) вида 777 регламентируют такие действия: чтение, запись в папку или файл и выполнение файла.
Что такое «права доступа» в операционной системе
Права доступа к файлам или папкам – это защитная функция любой многопользовательской операционной системы или программного обеспечения от несанкционированного доступа к важной (системной) информации.
Если операционная система однопользовательская, например, как домашний вариант (home) Windows – то здесь нет смысла особо ограничивать власть юзера над его пользовательскими и системными файлами и папками. Потому что, в этом случае, один и тот же человек является – и пользователем, и администратором, одновременно.
Если же операционная система (или программа) многопользовательская и в ней может обретаться более одного юзера, то тут сначала нужно разобраться и решить – кого из пользователей можно допустить к важным системным и пользовательским файлам, а кто – «пусть постоит в сторонке». Для того, чтобы разграничить возможности и степень доступа к файлам и папкам для пользователей, в пределах операционной системы – существуют «права доступа».
Права доступа к файлам и папкам назначаются на уровне системного администратора и определяют технические возможности каждого юзера для его операций с файлами и папками, в пределах подконтрольных ему директорий
При этом, права доступа позволяют частично или полностью закрывать общий доступ к важным файлам и директориям, предотвращая тем самым несанкционированное вмешательство в работу системы (программы, сервера, сайта) или изменение пользовательских данных (базы данных, БД) на сервере.
Как работают «права доступа»
По большому счёту, работа пользователя в любой операционной системе или программе – это обычная работа с файлами или папками. Изначально, обращаясь любому файлу или папке – пользователь волен сотворить с ними что угодно – выполнить, удалить, изменить (перезаписать) или создать новый объект. Однако, операционная система бдит – она всегда начеку – при каждом обращении пользователя к файлу или папке, при каждом его действии в пределах операционной системы, она скрупулёзно проверяет, разрешено или нет юзеру работать с данным файлом или папкой. Это и есть «права доступа». Таким образом, ограничиваются возможности пользователя в тех действиях, которые он (юзер) может сотворить с файлом или папкой на подконтрольной ему компьютерной территории.
Права доступа в Unix
Как уже было сказано, права доступа к файлам и папкам есть во всех операционных системах, подразумевающих многопользовательскую работу. И в ОС Windows, и в ОС Unix, и в любой другой многопользовательской операционной системе есть функция настройки и установки прав доступа к файлам и директориям (папкам, каталогам) для различных категорий пользователей. В данной статье речь пойдёт о правах доступа для серверных ОС семейства Unix, которые ещё часто называют права доступа (chmod) вида 777.
Права доступа (chmod) вида 777 для серверных ОС Unix регламентируют разрешение или запрет для пользователя на такие действия, как: чтение, запись в папку или файл и выполнение исполнительных файлов
Что такое chmod
Что такое 777
В серверных ОС Unix права доступа записываются одной строкой, состоящей из трёх цифр, где каждая цифра относится к своему типу группы пользователей. В свою очередь, все пользователи подразделяются на группы трёх типов:
- группа Owner – «Владелец папки или файла»
- группа Group – «Член группы владельца папки или файла»
- группа World или Public – «Все остальные пользователи»
Таким образом, три цифры в обозначении, вида 777 – это выставленные права доступа сразу для трёх групп пользователей папки или файла, где – каждая из трех цифр обозначает права доступа для своей группы пользователей.
Теперь осталось разобраться, кто такой «Владелец»,
что такое «Член группы владельца»
и кто это такие «Все остальные пользователи».
Владелец, член группы владельца и все остальные пользователи
Поскольку, мы здесь говорим про сервера, сайты и серверные ОС Unix, то:
Таким образом, для серверной ОС Unix, между первыми двумя и третьей группами есть очень чёткое и легкопонятное разграничение – владелец и член его группы попадают на сервер, используя спецсвязь (FTP, SSH), а все остальные пользователи – через свои веб-браузеры.
А вот различия между первыми двумя группами – владельцем и членом его группы – сильно стёрты и завуалированы. Здесь уже начинаются дебри хостинг-пакета и индивидуального подхода для каждого случая.
Справка:
Все файлы в Unix (Linux) могут иметь двух владельцев: непосредственного своего владельца-создателя (user owner) и его группу (group owner). Под понятием группы владельца подразумевается некий список пользователей, который был создан самим владельцем для совместного пользования файликом или папочкой.
Таким образом, для серверной ОС Unix, владельцем файла или папки является непосредственно администратор сервера. Все остальные, кому владелец разрешит доступ к файлам на своём сервере и кто будет подключаться к этому серверу по FTP/SSH-протоколу – это члены группы владельца.
Дальше (тут – игра слов). Всех сайто-владельцев можно условно разделить на две большие группы – арендаторы дискового пространства и арендаторы серверов (реальных и виртуальных).
Под арендой дискового пространства понимается место на сервере, занимаемое именно файлами сайта. Как правило, это недорогие хостинг-пакеты, где их пользователи не имеют доступа к админпанели сервера (не путать с CP – контрольной панелью аккаунта). Соответственно, сидящие на таких пакетах, администраторы (владельцы) сайтов, при своём подключении по FTP-протоколу к серверу – попадают исключительно в группу владельца. Тогда как, сам владелец (администратор сервера) находится где-то там, «далеко в горах», в своём уютном рабочем кабинете технической службы хостера.
При аренде дискового пространства, владельцем всех файлов сайта является сам хостер, тогда как арендатор дискового пространства – всего лишь член группы владельца.
Для арендаторов серверов (реальных и виртуальных) – ситуация, несколько иная. При аренде сервера, арендующий сам устанавливает операционную систему, естественно, при этом – он является для этой системы непосредственным владельцем файлов. А вот создавать группу и вносить в неё других пользователей – это уже его, владельца дело.
Что из всего вышесказанного следует?
А вывод такой: – Арендаторы дискового пространства могут не заморачиваться с первой цифирькой вида (chmod) 777, поскольку они не владельцы, и никогда не будут владельцами своих файлов. Для них первая цифра – всегда должна быть семь. – Арендаторы серверов (реальных и виртуальных) могут не заморачиваться со второй цифирькой вида (chmod) 777. При условии что, они не создавали и не собираются создавать никаких пользовательских групп у себя на сервере. Здесь, как такового, ярковыраженного и сильного разграничения нет. Вернее, оно будет, если создать группу владельца и внести в неё список пользователей. Вот только создать такую группу может исключительно сам администратор сервера. Когда создаст – тогда и будет думать, что делать со второй цифрой.
Что обозначают цифры 777 или 456
Каждая цифра, для каждой группы, представляет собой
арифметическую сумму из трёх цифр,
обозначающих следующие права:
- 4 = Read (право на чтение)
- 2 = Write (право на запись)
- 1 = Execute (право на выполнение)
- 6=4+2 – Read+Write (право на чтение+ право на запись)
- 5=4+1 – Read+Execute (право на чтение+ право на выполнение)
- и т.д.
Все возможные 7 вариантов сложения для этих трёх цифр
по установке прав доступа на папку или файл для групп пользователей
выглядят так:
- 7 = 1+2+4 – Read, Write, Execute (чтение, запись и выполнение)
- 6 = 4+2 – Read, Write (чтение и запись)
- 5 = 4+1 – Read, Execute (чтение и выполнение)
- 4 = 4 – Read (только чтение)
- 3 = 1+2 – Write, Execute (запись и выполнение)
- 2 =2 – Write (только запись)
- 1 =1 – Execute (только выполнение)
Таким образом, выставив права доступа (chmod) вида 765,
мы выставим следующие права для групп:
- Первая цифра, группа Owner, Владелец файла или папки
Первая цифра = 7
Это значит, что Владелец папки или файла имеет право на:
7=4+2+1 – Read (чтение)+Write (запись)+Execute (выполнение) - Вторая цифра, группа Group, Член группы владельца
Вторая цифра = 6
Это значит, что Член группы владельца имеет право на:
6=4+2 – Read (чтение)+Write (запись) - Третья цифра, группа World, Все остальные пользователи
Третья цифра = 6
Это значит, что Все остальные пользователи имеют право на:
5=4+1 – Read (чтение)+Execute (выполнение)
Теперь понятно, что выставив права доступа комбинацией цифр 777 (три топора), мы открываем полный доступ к файлу абсолютно для всех групп пользователей. Аналогичный результат можно получить, поместив файл в папку "Общие документы" (Public) в Windows.
Нужно отметить, что некоторые комбинации цифр могут обозначать весьма бредовые ситуации с правами доступа к файлу. Например, комбинация вида 477 будет разрешать доступ к перезаписи и исполнения файла для всех, кроме его владельца (читай – администратора). Увы, такого не бывает.
Права доступа всегда выставляются «по нисходящей» от «Владельца» к «Члену группы владельца», и дальше – к группе «Всех остальных». Но, не наоборот!
Как выставить права доступа вида 777 на сервере
Теперь, когда стало абсолютно ясно, что обозначают эти три заветные цифры – выставить права доступа (chmod) вида 777, не составит труда. Чтобы выставить права доступа (chmod) вида 777 для папки или файла, который находится на сервере, понадобится любой файловый менеджер, который способен установить и поддерживать FTP-соединение с сервером. Это может быть Total Commander, Windows Commander, CuteFTP, Filezilla или что-либо ещё. Лично я предпочитаю простой и бесплатный FTP-файловый менеджер Filezilla, несмотря на то, что являюсь горячим поклонником Total Commander-а.
Чтобы выставить права доступа (chmod) вида 777, заходим на сервер по FTP под правами Администратора!, через пару логин-пароль Администратора!. Дальше, находим и выделяем требуемый объект (папку или файл). После этого, вызываем правой кнопкой мыши контекстное меню «Файл - Изменить атрибуты». Дальше, указываем нужный атрибут (права доступа) и жмём «ОК». Чтобы "вбить" нужную комбинацию цифр потребуется, либо поставить-снять чекбоксы (галочки) возле нужных пунктов, либо ввести с клавиатуры нужный код вида 777 в открывшемся окне. Все FTP-файловые менеджеры поддерживают, и тот, и другой способ.
Окно изменения атрибутов (прав доступа) Total Commander-а
Окно изменения атрибутов (прав доступа) Filezilla
Облом вида 777 на Денвере
Как и все пришельцы из Космоса, я регулярно общаюсь с представителями различных внеземных цивилизаций, которые начинают строить свои сайты раньше, чем прилетят на Землю.
Файлы в Linux имеют двух владельцев
Необходимо правильно выставить права на файлы и папки. Сделать это можно с помощью FileZilla. Вообще для каждого сервера нужны свои определённые настройки, которые лучше узнать у своего хостера. Но обычно права ставят такие: на файлы, которые находятся в корневой директории 444, на папки в корневой директории ставят 755, на папки tmp и logs ставят 705, на паку своего шаблона поставьте 555, на папку image/stories можно поставить 755, на папку Cache 777.
Владельцем нового файла является пользователь, который создал файл.
Курс предназначен для базовой подготовки администраторов сайтов, созданных на "1С-Битрикс: Управление сайтом". Изучив курс, вы освоите основные методы администрирования системы, а также пополните знания по темам, изученным в курсе Контент-менеджер.
Если вы добросовестно изучите курс, то научитесь:
- управлять доступом к системе, сайтами, пользователями, группами пользователей;
- работать с инструментами системы;
- использовать возможности интерфейса по управлению системой;
- работать с модулями "1С-Битрикс: Управление сайтом", связанными с оптимизацией и безопасностью работы сайта;
- выполнять работу по конфигурированию веб-системы для оптимальной работы.
Если вам предстоит самостоятельная установка системы или перенос сайта на хостинг, то без курса Установка и настройка Курс Установка и настройка предназначен для специалистов устанавливающих "1С-Битрикс: Управление сайтом" или "Битрикс24 в коробке".
Начальные требования
Необходимый минимум знаний для изучения курса:
- базовые навыки компьютерной грамотности и навыки работы с ОС Windows;
- базовые знания о WWW и организации доступа к веб-серверу;
- знание системы в рамках курса Контент-менеджер Мы считаем, что вы этот курс уже прошли и знаете многое о Битриксе. Поэтому подсказок во всплывающих окнах будет намного меньше, чем в курсе Контент-менеджер. , чтобы банально не путаться в интерфейсе.
Неплохо было бы иметь базовые навыки установки и администрирования *nix-систем.
У нас часто спрашивают, сколько нужно заплатить
Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов - ничего из этого оплачивать не нужно.
Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Баллы опыта
В конце каждого урока есть кнопка Прочитано! . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:
уроке.
Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат - это если общее число набранных Вами баллов отличается от максимального на 1-2%.
Тесты и сертификат
После изучения курса пройдите тесты на сертификацию. При успешной сдаче последовательности тестов на странице Моё обучение вы увидите результат обучения и там же - ваш сертификат в формате PDF.
Иконка успешно сданного вами курса отображается в вашем профиле на Freelance, если вы укажите ссылку на ваш профиль на сайте компании 1С-Битрикс.
Комментарии к урокам
Для преподавания офлайн
Если данный курс берётся в качестве основы для офлайнового преподавания, то рекомендуемая продолжительность: 3 дня (24 академических часа).
Если нет интернета
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome
iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла - от 11.04.2022.
Как проходить учебный курс?
Не могу ставить/менять темы, плагины и прочее пока не установлю права 777 на папку wp-content со всеми вложенными в неё каталогами. Насколько это безопасно?
Простой 6 комментариев
Максим Ленский, уже прописано. Суть вопроса в том, что во многих мануалах пишут об установке прав на wp-content 777, как о самом крайнем случае (т.е. сначала 755, потом 775 и если не подходит то - 777). А вот почему и чем "грозит" для безопасности сайта данное разрешение, ничего не сказано. Хотелось бы узнать
warkowsky, ну .. как сказать . вообще 777 это очень плохо НО с другой стороны .. обычно ставят 665 и 775 на wp-themes я честно забыл как правильно папка называется но именно на эту папку , если не помогает то создаётся .htaccess и в ней открывается полный доступ .. я так делал но остальные папки в том же htaccess должны быть закрыты
На будущее. Для каждого сайта делайте отдельного пользователя и FTP и под созданным FTP заливайте сайт на сервер, а не из под root
Вам нужно всего лишь сменить владельца папок на пользователя, под которым работает ваш веб-сервер. Тогда и права 755 будут отлично работать. Скорее всего вы по неопытности залили файлы под рутом.
Это означает, что владелец файлов и папок не имеет прав на запись, например, заливали от пользователя root или username, а исполняется все от www-data или другого юзера. Необходимо менять владельца, а не права.
Совсем небезопасно. Давайте разберем коды прав, чтобы вы понимали как это работает:
Каждая из 3х цифр отвечает за права:
1. Пользователя
2. Группы
3. Всех желающих (world)
Каждая цифра - это octal notation конкретных прав (rwx):
Чтение (read)
Запись (write)
Исполнение (execute)
Что означают конкретные цифры (и буквы):
Поэтому, 777 означают, что и владелец файла, и любой пользователь входящий в группу файла, и вообще кто угодно (1я, 2я и 3я цифры соответственно) имеют права "read, write and execute" - читать, писать в файл и исполнять его. Отсюда и опасность - вы разрешаете всем подряд запись в файлы.
Правильные права для папок - 755. Владелец может читать, писать и исполнять, группа и мир могут читать и исполнять. Права исполнения на папки нужны группе и миру чтобы можно было в директорию попасть.
Правильные права для файлов - 644. Владелец может читать и писать (исполнять файлы не нужно), группа и мир могут только читать файлы (что и является важным с точки зрения безопасности).
Для некоторых файлов права могут быть еще более жесткие, например wp-config.php достаточно чтобы был доступен для чтения и записи только пользователем, остальные не должны иметь доступа вообще (чтобы не видеть пароли, например) - тогда права выставляются 600 (владельцу можно читать и писать - 6, остальным доступ закрыт - 0).
Алгоритм, установленный в операционках Unix, отличается от привычного для многих регламента работы с файлами и каталогами в OS Windows, где защита в этом аспекте не так сильна, что весьма нередко приводит к плачевным последствиям в виде заражения системы вирусами.
При управлении же ОС на базе Unix существует реальная возможность снизить до минимума риск несанкционированного доступа просто правильно настроив chmod (данное название программы для изменения прав доступа происходит от английского словосочетания «change mode»).
Тогда основной задачей будет указание минимально возможных для доступа к файлам и папкам прав, которые тем не менее не нарушат корректную работу сайта.
Согласитесь, грех не воспользоваться возможностью серьезно усилить степень защиты вашего веб-ресурса. Конечно, в этом случае редактирование некоторых файлов будет занимать немного больше времени, но тут уж приходится выбирать: либо оптимизация безопасности системы, либо. Ниже я постараюсь систематизировать информацию по chmod, потому что здесь есть несколько нюансов, которые необходимо знать вебмастеру. Итак, начнем.
Указание прав доступа для сайта с помощью ФТП клиента
Теперь подробнее о том, как проделать операцию установки нужного значения chmod с помощью специальной программы, позволяющей соединиться с сервером хостинга, на котором находятся файлы, распределенные по каталогам (папкам).
Со своей стороны порекомендую ФТП менеджер (клиент) Файлзилла, который уже давно доказал свою надежность и безотказность в работе на протяжении длительного времени.
Открываете программу и подсоединяетесь через FTP к веб-серверу. В правой части («Удаленный сайт») сначала отмечаете файлы или папки, атрибуты которых будут отредактированы:
И из контекстного меню, вызванного нажатием правой кнопки мыши, выбираем «Права доступа к файлу». После этого появится диалоговое окно «Изменить атрибуты файла» (на скриншоте ниже предоставлены примеры отдельно для файла и каталога):
При отмеченной галочке ниже расположенная группа настроек станет активной и потребуется еще выбрать, как их нужно применять: ко всем файлам и каталогам, только к файлам либо исключительно к каталогам. Теперь, думаю, процесс установки chmod на практике понятен.
Для того чтобы изменения файла .htaccess вступили в силу, необходимо:
сохранить файл.
Если при установке продукта для выбора не доступна база данных Oracle это значит, что
в PHP не подключено расширение для работы с данной СУБД: php_oci8.
PHP параметр upload_tmp_dir= определяет:
директорию, в которую будут помещаться временные файлы, загружаемые в систему.
В процессе работы системы обновлений все собранные персональные данные при передаче на сервер
не шифруются. Система обновлений не собирает и не передает персональные данные.
На этапе создания базы данных для СУБД MySQL
используются имя и пароль администратора СУБД, если необходимо создать нового пользователя базы данных и/или саму базу данных.
Требуются ли права на файлы уровня 777?
Нет, достаточно чтобы веб сервер мог читать и писать во все файлы и папки сайта
Если при установке продукта для выбора не доступна база данных MSSQL это значит, что
не настроена поддержка ODBC.
Права на доступ к файлам и папкам, устанавливаемые в дополнительных параметрах на пятом шаге установки,
влияют на права на вновь создаваемые средствами продукта файлы и папки, а также на изменяемые средствами продукта файлы.
Если файл .htaccess размещен в одном из каталогов сайта, то действие его директив распространяется на:
данный каталог и все вложенные папки (если для них не создан свой файл .htaccess).
Утилита perror.exe позволяет:
получить описание ошибки по ее коду.
Обязательно ли указывать отдельную папку хранения сессий для каждого пользователя хостинга?
Обязательно в целях безопасности.
Использование в файле .htaccess инструкций, не разрешенных в конфигурации сервера, приводит к возникновению:
внутренней ошибки сервера.
Какие параметры mbstring нужны для работы в utf-8?
mbstring.func_overload=2
mbstring.internal_encoding=utf-8
Можно ли определить параметр overload в файле .htaccess?
да, до версии PHP 5.2.8
Права на файлы и папки, создаваемые средствами системы, определяются:
в файле dbconn.php
PHP расширение Zlib compression используется
при работе "Системы обновлений";
при работе модуля "Компрессия";
Библиотека FreeType необходима для корректной работы
механизма CAPTCHA.
Что делает скрипт bitrixsetup.php?
Скачивает один из продуктов 1С-Битрикс и распаковывает его сразу на хостинге.
При установке коммерческой версии продукта в поле "Лицензионный ключ" указывается
лицензионный ключ продукта, полученный при покупке.
При работе с системой в качестве веб-сервера может быть использован
любой веб-сервер, который может выполнять PHP приложения.
Если при настройке работы с сессиями в PHP не был установлен путь для сохранения файлов сессии, то:
по умолчанию для сохранения файлов сессии будет использоваться директория /tmp.
Использование строки ini_set("memory_limit", " ") в файле /bitrix/php_interface/dbconn.php позволяет:
установить максимальный объем памяти, доступный при работе системы ядру продукта.
Продукт поставляется
единым дистрибутивом для всех баз данных.
На этапе выбора базы данных
доступны только базы данных, для которых настроена поддержка в системе.
Параметры соединения с базой данных могут быть установлены вручную в файле:
/bitrix/php_interface/dbconn.php
В процессе обновления затрагиваются
структура таблиц базы данных и ядро продукта.
Chmod для пользователей и права доступа
Для каждой группы пользователей определены свои права доступа. При попытке соединения веб-сервер определяет, к какой группе отнести того или иного юзера. Все они разделяются на:
- «user» (u) — владелец файла;
- «group» (g) — один из членов группы, к которой принадлежит и владелец;
- «others» (o) — все остальные пользователи.
Если вы подключаетесь к серверу по протоколу FTP и заходите под своим логином и паролем, то будете идентифицированы как «user», если кто-либо другой подключается по ФТП, то он будет отнесен к «group», ежели пользователь использует браузер, то попадет в категорию «others».
Теперь о правах доступа 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 | Файлы | Папки (директории) | |
---|---|---|---|
Выражен. в цифрах | Выражен. в символах | ||
0 | --- | Запрещены все действия | Запрещены все действия |
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.
Читайте также: