Права на чтение и исполнение. Какие права нужно установить для директории, чтобы редактировать по FTP файлы внутри нее? Команды chown и chgrp

Каждому файлу соответствует набор прав доступа, представленный в виде девяти битов режима. Он определяет, какие пользователи имеют право читать файл, записывать в него данные или выполнять его. Вместе с другими тремя битами, влияющими на запуск исполняемых файлов, этот набор образует код режима доступа к файлу. Двенадцать битов режима хранятся в 16-битовом поле индексного дескриптора вместе с четырьмя дополнительными битами, определяющими тип файла.

Его владелец, владелец группы, представляющий всех членов группы, остальные. . Три типа прав могут быть объединены. Чтение, Написание, Исполнение. . В случае с файлом эти разрешения легко понятны: доступ для чтения позволяет читать содержимое, доступ на запись позволяет вам изменить его, а разрешение на выполнение позволяет запустить его.

Обратите внимание, что мы часто говорим о «бит», поскольку каждое из этих логических значений может быть представлено 0 или Эти два разрешения позволяют любому пользователю запускать программу с правами владельца или группы соответственно. Этот механизм гарантирует доступ к ролям, для которых требуются очень ограниченные разрешения, которых у вас вообще нет. Директория управляется по-разному. Доступ к чтению дает вам право просматривать список ваших записей, доступ на запись позволяет вам создавать и удалять файлы, а доступ к выполнению позволяет вам перемещаться по нему.

Последние четыре бита устанавливаются при создании файла и не подлежат изменению. Биты режима могут изменяться владельцем файла или суперпользователем с помощью команды chmod ("change mode" — изменить режим). Просмотр значений этих битов осуществляется с помощью команды ls .

Биты SUID и SGID

Биты, которым в коде режима доступа соответствуют восьмеричные значения 4000 и 2000, — это биты смены идентификатора пользователя (SUID) и смены идентификатора группы (SGID). Они позволяют программам получать доступ к файлам и процессам, которые при прочих обстоятельствах недоступны пользователю, выполняющему эти программы. Подробнее данный механизм был описан в параграфе 3.1.

Возможность просматривать каталог, не имея возможности прочитать его, дает разрешение на доступ к записям внутри него, которые известны по имени, но не для их поиска, если вы не знаете их существования или точного имени. Любой вновь созданный элемент в таком каталоге автоматически присваивается группе владельца родительского каталога, а не наследует основную группу создателя, как обычно.

Этот параметр запрещает пользователю изменять свою основную группу при работе в дереве файлов, совместно используемом несколькими пользователями в той же выделенной группе. «Липкий» бит - это разрешение, которое полезно только в каталогах. Он особенно используется для временных каталогов, где каждый имеет доступ к письму: он ограничивает стирание файлов, чтобы только его владелец мог его стереть.

Если бит SGID установлен для каталога, то создаваемые в нем файлы при запуске будут принимать идентификатор группы каталога, а не группы, в которую входит владелец файла. Это упрощает совместный доступ к каталогам для пользователей, принадлежащих одной группе. Подобная возможность поддерживается не во всех версиях UNIX (это не относится к нашим тестовым системам). Следует также учитывать, что установка бита SGID для исполняемого файла перекрывает аналогичную установку для каталога.

Три команды управляют разрешениями, связанными с файлом. Существует два способа представления прав. Среди них символическое представление, вероятно, проще всего понять и запомнить. Он включает символы упомянутых выше букв. Вы можете установить права для каждой категории пользователей, явно определяя, добавляя или вычитая их. Права, не измененные добавлением или вычитанием такой команды, не изменяются. Числовое представление сопоставляет каждое право со значением: 4 для чтения, 2 для записи и одно для исполнения.

Мы сопоставляем каждую комбинацию прав с суммой цифр. Каждое значение затем присваивается различным категориям пользователей, помещая их в конец в обычном порядке. Наиболее частыми правильными комбинациями являются 755 для исполняемых файлов и каталогов и 644 для файлов данных. Обратите внимание, что использование восьмеричной нотации позволяет вам сразу установить все права в файле; вы не можете использовать его, чтобы просто добавить новое право, такое как доступ для чтения к владельцу группы, поскольку вы должны учитывать существующие права и вычислять новое сопоставимое числовое значение.

В некоторых системах бит SGID можно устанавливать для файлов, не являющихся исполняемыми. Тем самым запрашивается специальный режим блокировки файлов при их открытии.

Sticky-бит

Бит, которому в коде режима доступа соответствует восьмеричное значение 1000, называется sticky-битом ("sticky" — липучка). Это хороший пример того, как UNIX по мере взросления избавляется от рудиментов, но они продолжают следовать за системой по пятам. В системах с небольшой памятью, например PDP-11/70, где UNIX работала в свои ранние годы, требовалось, чтобы отдельные программы постоянно оставались в памяти. Тогда sticky-бит был очень важен, так как запрещал выгрузку программ из памяти. Сегодня в мире 25-долларовых модулей памяти и быстродействующих дисковых накопителей sticky-бит никому не нужен, и современные ядра попросту игнорируют его.

С «Дороги к Тихо», сборник статей о фактах лунной революции, опубликованный в «Город Луны». Для Дэн Халберт путь в Тичо начался в колледже, когда Лисса Ленц попросила его заимствовать компьютер. Она рассталась, и она не смогла завершить проект в середине года, не найдя другого займа. И Дэн был единственным, кого он осмелился бы спросить.

Дэн столкнулся с дилеммой. Конечно, она должна была помочь ей, но если бы она одолжила ей ее, она могла читать ее книги. Помимо того, что чтение их книг кому-то означало рискованные несколько лет тюремного заключения, эта идея была шокирующей по-своему. Как и все, будучи ребенком, он учился в школе, что обмен книгами был плохим, неправильным, пираты.

Если sticky-бит устанавливается для каталога, то большинство версий UNIX позволяют удалять и переименовывать его файлы только в том случае, если пользователь является владельцем каталога, владельцем файла или пользователем root. Иметь одно лишь разрешение на запись в каталог недостаточно. Такая мера направлена на то, чтобы сделать каталоги вроде / tmp более защищенными.

В ходе компьютерной науки Дэн узнал, что каждая книга включает в себя копии часовых программ для копирования лицензий в Центр централизованного лицензирования, где и когда она была прочитана, и от кого эта информация использовалась для идентификации пиратов чтения, а также для создания профилей интересов, которые затем были перепроданы. Когда он подключил свой компьютер к сети, Центр лицензирования обнаружил бы это, и он, будучи владельцем компьютера, подвергся самому тяжелому наказанию из-за своей небрежности в предотвращении преступления.

Системы Solaris и HP-UX не столь строги в отношении каталогов с установленным sticky-битом. Пользователь, имеющий право записи в такой каталог, может удалять из него файлы, даже если он не является их владельцем.

Биты режима

Девять битов режима предназначены для того, чтобы определить, кто и какие операции может выполнять над файлом. В UNIX нельзя устанавливать биты прав доступа отдельно для каждого пользователя". Существуют разные наборы (триады) битов для владельца файла, группы, которой принадлежит файл, и прочих пользователей. Каждый набор состоит из трех битов: бита чтения, бита записи и бита выполнения (для каталога последний называется битом поиска).

Конечно, не было сказано, что Лисса будет читать его книги. Возможно, он просто хотел, чтобы его компьютер написал свою работу. Но Дэн знал, что Лисса из семьи среднего класса и едва ли может позволить себе право школы и читать права. Чтение его книг также могло быть единственным способом добиться успеха в ее учебе. Она хорошо понимала ситуацию: она сама должна была быть обязан заплатить за все прочитанные статьи, 10% сборов пошли исследователям, которые писали статьи, и, как указал Дэн на его академическую карьеру, он мог надеяться, что его собственные статьи сделают его достаточно, чтобы погасить кредит, если процитировать его довольно часто.

Режим доступа удобно представлять в виде восьмеричного числа, так как каждая цифра в нем представляется тремя битами. Три старших бита (в коде режима доступа им соответствуют восьмеричные значения 400, 200 и 100) служат для управления доступом к файлу со стороны его владельца. Вторые три бита (40, 20 и 10) задают доступ для пользователей группы. Последние три бита (4, 2 и 1) определяют доступ к файлу со стороны всех остальных пользователей. Старший бит каждой триады — бит чтения, средний — бит записи, младший — бит выполнения.

Дальше за Дэн узнал бы, что с было время, когда каждый мог ходить в библиотеку, читать журналы и даже книги, не платя. «С»были независимыми учеными, которые читали тысячи страниц без субсидий правительство для книг. В информатике у Дэна был компаньон, Франк Мартуччи, который получил незаконный отладчик и использовал его, чтобы пропустить код копов для копирования прав, когда он читал книги.

Позже Дэн узнал, что было время, когда у кого-то мог быть отладчик. Но даже когда обычные пользователи начали использовать их для обхода копов для копирования прав, судья постановил, что это так становятся наиболее распространенными на практике. Это означало, что они стали незаконными; отладчики были заключены в тюрьму.

Каждый пользователь попадает только в одну из категорий, соответствующих одной из триад битов режима. В случае неоднозначности выбираются самые строгие права доступа. Например, права доступа для владельца файла всегда определяются триадой битов владельца и никогда — битами группы. Возможна ситуация, когда внешние пользователи имеют больше прав, чем владелец, но такая конфигурация используется редко.

Отладчик, который Дэн использовал во время уроков компьютера, находился под особой защитой, которая ограничивала его только для занятий в классе. Другой способ обойти копирующих полицейских - заменить ядро ​​системы на отредактированное, и тогда Дэн пришел к свободным ядрам, даже целым операционным системам, которые существовали в начале века.

Дэн понял, что он не может просто предоставить свой компьютер Лиссе. Но как она могла отказаться от нее? он любил ее. Каждый раз, когда она говорила с ней, это было восхищение. И она выбрала его, чтобы попросить о помощи, это может означать, что она ему тоже понравилась.

Для обычного файла бит чтения позволяет открывать и читать файл, а бит записи — изменять его содержимое. Возможностью удаления и переименования файла управляют биты прав доступа, установленные для его родительского каталога (поскольку именно там хранится имя файла).

Установкой бита выполнения задается разрешение запускать файл, если он является программой или командным сценарием. Существует два типа исполняемых файлов: двоичные файлы, которые выполняются непосредственно центральным процессором, и сценарии, обрабатываемые интерпретатором shell или какой-нибудь другой программой (например, awk или sed ). По соглашению сценарии начинаются со строки примерно такого вида:

Дэн решил эту дилемму, делая что-то еще более немыслимое, предоставляя ее своему компьютеру и рассказывая ей свое секретное слово. Поэтому, когда Лисса читала его книги, Лицензионный Центральный считал бы, что читает их. Конечно, если бы школа обнаружила, что он дал свое секретное слово Лиссе, все ворота будут закрыты для обоих, как для учеников, независимо от того, как она это сделала. Не имело значения, если вы нанесли какой-либо ущерб или нет, виноват в том, что администраторы должны будут следить за вами.

Они предположили, что это означает, что вы делаете что-то еще, что запрещено, не зная чего. Студентов обычно не высылали за это, а не напрямую. Вместо этого они были развязаны компьютерными системами школы и неизбежно проваливались бы во всех курсах. Раньше университеты применяли иной подход к дисциплине, наказывали действия, вызвавшие ущерб, а не те, которые вызывали только подозрения.

Она задает соответствующий интерпретатор команд. Текстовые файлы, в которых не указан конкретный интерпретатор, считаются сценариями интерпретатора sh (Bourne shell).

Установкой бита выполнения (в этом контексте часто называемого битом поиска) для каталога дается разрешение входить в каталог, но при этом нельзя получить список его содержимого. Если для каталога задана комбинация битов чтения и выполнения, можно будет получить список содержимого каталога. Комбинация битов записи и выполнения позволяет создавать, удалять и переименовывать файлы в данном каталоге.

Его решение помочь ей привело к их браку, так как это также заставило их поставить под сомнение то, чему их учили дети о пиратстве. Эти двое начали читать об истории авторских прав, о Советском Союзе и его ограничениях на копирование и даже конституции США, как это было первоначально.

Эта история претендует на роль исторической статьи, написанной в будущем другими авторами для описания молодости Дэн Хэлберта в репрессивном обществе, подделанном несправедливыми силами с использованием «пирата» в качестве пропагандистского термина. Поэтому используйте терминологию этой компании. . Эта заметка была обновлена ​​несколько раз со времени первой публикации этой истории.

Просмотр атрибутов файла

Файловая система хранит информацию о каждом файле в структуре, называемой индексным дескриптором. Каждый индексный дескриптор содержит около сорока информационных полей, но большей частью они используются только ядром. Системного администратора будут в основном интересовать количество жестких ссылок, владелец, группа, код прав доступа, размер, время последнего обращения, время последней модификации и тип файла. Всю эту информацию можно получить с помощью команды ls -1 .

Правительство США хочет навязать такие правила всему остальному миру через договоры, которые он призывает к «свободной торговле», но это следует призвать к верховенству бизнеса, поскольку они ставят компании, отвечающие за государства, которые являются официально демократическими. Большинство из них находились под угрозой, так как они не могли позволить себе судебный процесс. Например, на экране компьютера в Чикагском университете вы можете читать во время доступа: эта система предназначена только для авторизованных пользователей. Лица, использующие эту компьютерную систему без разрешения или вне их разрешений, что все их действия в этой системе контролируются и регистрируются персоналом системы. При мониторинге того, что отдельные лица не используют эту систему или во время обслуживания системы, деятельность контролируемых пользователей также может контролироваться. действительно интересный подход к Четвертой поправке: немедленно нажать, чтобы отказаться от своих прав, что это гарантирует.

  • Право читать - это битва, которая ведется сегодня.
  • Все эти трактаты должны быть преодолены или отменены.
  • Мы называем это ограниченной загрузкой.
Битва за право читать уже идет, и мы переживаем.

Для каждого файла хранятся также сведения о времени последнего изменения атрибутов, т.е. самого индексного дескриптора. Название данного атрибута ("ctime") вводит многих людей в заблуждение, так как они полагают, что это время создания файла. На самом деле в нем хранится время последнего изменения одного из атрибутов файла (например, владелеца, кода режима), но не его содержимого.

Враг организован, а мы нет. Сегодняшние электронные книги отрицают традиционную свободу читателей. Изменение прав владельца, группы и файлов. Создание персонального каталога для нового пользователя. Для этого, после того, как вы закончите, вы должны создать нового пользователя-владельца файлов и каталогов, созданных для него, иначе он не сможет их использовать! Синтаксис команды изменения разрешения доступа более сложный. Вы можете использовать следующую команду. Вы можете установить право выполнения для себя только с помощью команды.

Символ перед плюсом показывает уровень доступа и символ после того, как он является правом доступа. Чтобы установить доступ как к вам, так и к группе одновременно, вы должны ввести. Вы можете установить несколько прав доступа одновременно. Предположим, вы хотите дать себе право читать, а все остальные не имеют никаких прав. Вы должны установить только биты, соответствующие числу.

Рассмотрим пример:

% ls -1 /bin/sh

В первом поле задается тип файла и маска режима доступа к нему. Поскольку первый символ — дефис, значит, перед нами обычный файл. Различные типы файлов обозначаются односимвольными кодами (табл. 5.2).

Таблица 5.2. Кодирование типов файлов в листинге команды l s

Тип файла

Чтобы настроить каждого пользователя для чтения, вы должны выбрать соответствующие бит с каждого уровня - 400 для владельца, 40 для группы и 4 для остальных. Чтобы дать каждому пользователю право читать и выполнять, вам необходимо рассчитать количество бит, которые соответствуют правам на чтение и выполнение.

Итак, команда. Последняя функция: как установить права доступа, которые используются по умолчанию при создании файла. На двоичном уровне основные права выражаются как 9 бит. Более конкретно 3 группы из 3 бит. Однако мы не будем читать права в этой двоичной записи, но в восьмеричной или текстовой записи.

Создается командой

Удаляется командой

Обычный файл

редакторы,ср и др.

m kdir

Файл байт-ориентированного устройства

m knod

r m

Файл блок-ориентированного устройства

m knod

socket(2)

Именованный канал

Следующие девять символов в этом поле — это три набора битов режима. В листинге команды ls они представляются буквами r, w и х (соответственно чтение, запись и выполнение). В данном случае владелец имеет все права доступа к файлу, а остальные пользователи — только право на чтение и выполнение.

Если бы был установлен бит смены идентификатора пользователя (SUID), то вместо буквы х, обозначающей право владельца на выполнение, стояла бы буква s. Если бы был установлен бит смены идентификатора группы (SGID), то вместо буквы х для группы тоже стояла бы буква s. Последний бит режима (право выполнения для остальных пользователей) представляется буквой t,когда для файла задан sticky-бит. Если биты SUID/SGID или sticky-бит установлены, а надлежащий бит выполнения — нет, эти биты представляются соответственно символами S и T, указывающими на наличие ошибки и игнорирование данных атрибутов.

Далее расположено поле со счетчиком ссылок на файл. В нашем примере здесь стоит единица, свидетельствующая о том, что / bin / sh — единственное имя, под которым известен данный файл. Всякий раз при создании жесткой ссылки на файл этот счетчик увеличивается на единицу.

Каждый каталог имеет минимум две жесткие ссылки: одну из родительского каталога и одну из специального файла "." внутри самого каталога. Символические ссылки в счетчике не учитываются.

Следующие два поля — владелец и группа файла. В данном случае владельцем файла является пользователь root , и файл принадлежит группе bin . В действительности ядро хранит эти данные не как строки, а как идентификаторы пользователя и группы. Если символьные версии имен определить невозможно, в этих полях будут отображаться числа. Такое может случиться, если запись пользователя или группы была удалена из файла / etc / passwd или / etc / group соответственно. Не исключено также, что возникла ошибка в сетевой административной базе данных (см. главу 18).

Затем следует поле, отображающее размер файла в байтах. Рассматриваемый файл имеет размер 85924 байта, т.е. почти 84 Кбайт. Далее указывается дата последнего изменения: 27 сентября 1997 г. В последнем поле листинга содержится имя файла: / bin / sh .

Для файла устройства команда Is выдает несколько иную информацию. Например:

% ls -l /dev/ttya

В основном поля те же, но вместо размера в байтах показаны старший и младший номера устройства. Имя / dev / ttya относится к первому устройству, управляемому драйвером устройства 12 (в данной системе это драйвер терминала).

При поиске жестких ссылок может оказаться полезной команда ls - i , отображающая для каждого файла номер индексного дескриптора. Не вдаваясь в детали реализации файловой системы, скажем, что этот номер представляет собой индекс таблицы, в которой перечислены все файлы системы. Жесткие ссылки, указывающие на один и тот же файл, будут иметь один и тот же номер.

Система автоматически отслеживает время изменения, число ссылок и размер файла. С другой стороны, права доступа и идентификаторы принадлежности файла изменяются явным образом с помощью команд chmod , chown и chgrp .

Дополнительные флаги во FreeBSD

Во FreeBSD и других системах, построенных на ядре 4.4BSD, имеется ряд дополнительных флагов, которые могут быть установлены для файлов. Эти флаги связаны с расширенной семантикой файловой системы. Например, флаг sappnd делает файл доступным только для присоединения (это может быть полезно при создании журнальных файлов). А благодаря флагу schg файл становится неизменяемым и неудаляемым. Узнать о наличии этих файлов поможет команда ls - lo :

% ls -lo /kernel

Управлять флагами можно с помощью команды chflags :

# chflags noschg /kernel

# ls -lo /kernel

Список доступных флагов вы можете получить на странице интерактивного руководства chflags (l).

Команда chmod: изменение прав доступа

Код режима доступа к файлу можно изменить с помощью команды chmod . Это право предоставлено только владельцу файла и пользователю root . В ранних UNIX-системах код задавался в виде восьмеричного числа. В современных версиях поддерживается также система мнемонических обозначений. Первый способ удобнее для системного администратора, но при этом можно задать только абсолютное значение режима доступа. А используя мнемонический синтаксис, вы можете сбрасывать и устанавливать отдельные биты режима.

Первым аргументом команды chmod является спецификация прав доступа. Второй и последующий аргументы — имена файлов, права доступа к которым подлежат изменению. При использовании восьмеричной нотации первая цифра относится к владельцу, вторая — к группе а третья — к остальным пользователям. Если необходимо задать биты SUID/SGID или sticky-бит, следует указывать не три, а четыре восьмеричные цифры. Первая цифра в этом случае будет соответствовать трем специальным битам.

В табл. 5.3 показано восемь возможных комбинаций для каждого трехбитового набора, где символы r, w и х обозначают соответственно чтение, запись и выполнение.

Таблица 5.3 Коды прав доступа в команде chmod

Восьмеричное число

Двоичное число

Маска режима доступа

Например, команда chmod 711 myprog предоставляет владельцу все права, а всем остальным пользователям — только право выполнения.

В табл. 5.4 представлены некоторые примеры мнемонических спецификаций.

Таблица 5.4 Примеры мнемонических спецификаций команды chmod

Спецификация

Владельцу файла дополнительно дается право выполнения

Владельцу и группе предоставляется право чтения/записи, остальным пользователям — право чтения

Все пользователи лишаются права выполнения

Владельцу и группе дается право чтения/выполнения, устанавливается также бит SUID; остальным пользователям запрещен доступ к файлу

Группе назначаются такие же права, что и владельцу

Символ u ("user") обозначает владельца файла, символ g ("group") — группу, символ о ("others") — других пользователей, символ a ("all") — всех пользователей сразу.

Команды chown и chgrp: смена владельцев

Команда chown предназначена для изменения владельца файла, а команда chgrp — для изменения группы, которой принадлежит файл. Первым аргументом обеих команд является имя нового владельца или новой группы соответственно. Для того чтобы выполнять команду chgrp , необходимо либо быть владельцем файла и входить в назначаемую группу, либо быть пользователем root .

В большинстве версий команд chown и chgrp предусмотрен флаг - R , который задает смену владельца или группы не только самого каталога, но и всех его подкаталогов и файлов. Например, последовательность команд:

# chmod 755 ~matt

# chown -R matt ~matt

# chgrp -R staff ~matt

можно использовать для конфигурирования начального каталога нового пользователя после копирования в него стандартных файлов сценариев. Не следует пытаться выполнять команду chown для файлов, имена которых начинаются с точки:

# chown - R matt ~ matt /.*

Указанному шаблону поиска соответствует также файл ~ matt /.., вследствие чего команда изменит и владельца родительского каталога.

В некоторых системах посредством команды chown можно изменять владельца и группу файла одновременно. Ее синтаксис в этом случае таков:

chownпользователь:группа файл...

Например:

# chown - R matt : staff ~matt

Версии UNIX, относящиеся к семейству System V, часто позволяют пользователям отказываться от владения своими файлами с помощью команды chown , тогда как в BSD-системах команду chown может выполнять только суперпользователь. Практика показывает, что возможность свободного изменения принадлежности файлов приводит к многочисленным проблемам, в частности к превышению дисковых квот. Лучше всего, если выполнять эту команду разрешается только пользователю root .

Команда umask: задание стандартных прав доступа

Встроенная shell-команда umask позволяет менять стандартный режим доступа к создаваемым файлам. Значение umask задается в виде трехразрядного восьмеричного числа, которое соответствует отнимаемым правам доступа. При создании файла код доступа устанавливается равным разнице между величиной, которую запрашивает создающая файл программа, и значением umask . В табл. 5.5 перечислены возможные комбинации битов режима для команды umask .

Таблица 5.5 Схема кодирования значения umask

Восьмеричное число

Двоичное число

Маска режима доступа

Например, команда umask 027 предоставляет все права владельцу файла, запрещает читать файл группе и не дает никаких прав остальным пользователям. По умолчанию значение umask равно, как правило, 022, т.е. выполнять модификацию файла разрешается только его владельцу.

Не существует способа, которым можно было бы заставить пользователя придерживаться конкретного значения umask , так как он в любой момент может изменить его. Возможно, однако, задание стандартного значения umask в тех копиях файлов . cshrc и . profile , которые предоставляются новым пользователям системы.

Для правильной работы PHP-скриптов и обеспечения безопасности данных необходимо установить определенные права доступа к файлам и директориям с помощью команды chmod или средствами FTP-клиента либо файлового менеджера контрольной панели хостинга. Как узнать, какое значение прав доступа нужно применить для достижения оптимального результата?

Владелец и группа

В файловых системах операционных систем типа UNIX (Linux, FreeBSD и т.п.) в свойствах каждого элемента файловой системы (файла или директории) содержится информация о его владельце и группе .

Владелец файла/директории - имя пользователя операционной системы, которому «принадлежит» файл или директория.
Группа - наименование группы пользователей операционной системы, членам которой предоставлен доступ к файлу или директории.

Запомните, что у каждого файла и директории владелец и имя группы могут быть различными. Например, если FTP-подключение и веб-сервер запускаются на хостинге различными пользователями (к примеру, ftp-user и Apache ), то у файлов, загруженных по FTP, владельцем будет ftp-user , а у файлов, созданных с помощью PHP-скрипта (например, распакованные во время установки WebAsyst), владельцем будет Apache .

Права доступа

Каждому файлу и директории присваивается 3-значное число, определяющее, какой доступ разрешен владельцу, членам группы и всем остальным пользователям операционной системы:

  • первая цифра означает права доступа владельца;
  • вторая цифра означает права доступа членов группы;
  • третья цифра означает права доступа остальных пользователей системы.

Каждая цифра является суммой фиксированных значений доступа:

1 (обозначается также буквой x ) - выполнение. Делает файл исполняемым (программой), а для директории позволяет изменять ее содержимое (например, создавать, удалять или переименовывать файлы внутри нее).
2 (обозначается также буквой w ) - перезапись. Позволяет перезаписывать содержимое файла, а для директории позволяет выполнять ее переименование.
4 (обозначается также буквой r ) - чтение. Позволяет считывать содержимое файла, а для директории - считывать список имен вложенных поддиректорий и файлов.

Пример

750 = (1+2+4)(1+4)()

В этом примере владельцу разрешены выполнение, перезапись и чтение (1, 2 и 4), членам группы - только выполнение и чтение (1 и 4), а остальным пользователям операционной системы доступ запрещен.

Директории и файлы WebAsyst

Функции каждого файла и директории в файловой структуре WebAsyst различны - доступ к некоторым достаточен в режиме чтения, другие необходимо иметь возможность перезаписывать с помощью PHP-скриптов либо по FTP. Перечень директорий и файлов и достаточные для них права доступа приведены в руководстве по установке скриптов WebAsyst в разделе «Защита WebAsyst после установки».

Несколько практических задач с решениями

  1. Какие права нужно установить для файла, чтобы редактировать его по FTP?

    Это зависит от имени владельца и группы файлов/директорий, а также того, какой из пользователей входит в какую группу. Рассмотрим все это на примере.

    Дано :
    На сервере есть пользователи ftp-user и Apache и группа group , в которую входит пользователь ftp-user .
    Владелец файла - Apache , имя группы - group .
    Необходимо обеспечить возможность редактирования файла и PHP-скриптам (пользователь Apache ), и FTP-клиенту (пользователь ftp-user ). При этом любой другой доступ в целях безопасности должен быть запрещен.

    Решение :
    Права доступа владельца : поскольку владелец - тот же пользователь, который исполняет PHP-скрипты (в этом примере Apache ), то ему нужно предоставить права чтения (4) и перезаписи (2) - для исполнения PHP-кода и перезаписи файла (например, при обновлении скриптов). Следовательно, первая цифра 2+4=6.
    Права доступа группы ftp-user group ), значит, членам группы нужны права на чтение и перезапись, т.е. 2+4=6.

    660 и выполняем команду chmod :

    Chmod 660 index.php

  2. Какие права нужно установить для директории, чтобы редактировать по FTP файлы внутри нее?

    Дано :
    Владелец директории - Apache , имя группы - group .

    Решение :
    Права доступа владельца : допустим, что владельцу (в данном случае PHP-скриптам «в лице» веб-сервера) для нормальной работы программы необходим иметь полный доступ к файлам внутри директории, следовательно, значение 1+2+4=7.
    Права доступа группы : FTP-соединение работает от имени пользователя ftp-user , который входит в группу файла (group ), значит, членам группы нужны права на чтение и выполнение (изменение содержимого директории), т.е. 1+4=5.
    Права доступа остальных пользователей : поскольку все нужные права доступа уже предоставлены, больше ничего назначать не нужно, значит, оставляем 0.

    Составляем окончательное число из отдельных значений и получаем 750 и выполняем команду chmod :

    Chmod 750 published

Замечание : при изменении имени владельца, имени группы либо при удалении пользователей из группы или добавлении новых пользователей в группу файла или директории может возникнуть необходимость в изменении прав доступа в соответствии с приведенным выше описанием.
Внимание : имена пользователей, групп и информация о членстве пользователей в группах в приведенных примерах могут отличаться от реальных настроек вашего сервера. За точной информацией обратитесь к своему системному администратору.

Виртуальный хостинг

Некоторые хостинг-провайдеры накладывают ограничения на права доступа, которые разрешено назначать файлам и директориям. Попытки установить права доступа, выходящие за рамки таких ограничений, могут стать причиной возникновения ошибки сервера с кодом 500 или 403. Ознакомьтесь с соответствующими правилами хостинг-провайдера, прежде чем приступать к разграничению прав доступа. Чтобы не зависеть от ограничений виртуального хостинга, воспользуйтесь выделенным или собственным сервером для установки скриптов WebAsyst.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: