Установить права на папку только для чтения. Настройка прав для файлов и папок

(Изначальное значение прав доступа файла file - rwxrwxrwx – полный доступ для всех) Отмена разрешения на выполнение файла для всех пользователей и групп:

$ chmod a-x file (rw-rw-rw-)

Отмена записи в файл группой и остальными пользователями:

$ chmod go-w file (rw-r–r–)

Разрешение выполнения файла владельцем:

$ chmod u+x file (rwxr–r–)

Предоставление группе тех прав доступа, которыми владеет владелец файла:

$ chmod g=u file (rwxrwxr–)

Отмена чтения и запись в файл пользователям группы и другим пользователям:

$ chmod go-rw file (rwx–x-)

Примеры использования команды chmod в абсолютном режиме

Разрешение чтения, записи, выполнения файла file всеми пользователями и группами (полный доступ):

$ chmod 777 file (rwxrwxrwx)

Установка разрешений на чтение и запись для владельца, группы и остальных пользователей:

$ chmod 666 file (rw-rw-rw-)

Установка полного доступа к файлу для владельца и лишь чтения для группы и остальных пользователей:

$ chmod 744 file (rwxr–r–)

Установка полного доступа к файлу владельцу файла и запрет доступа группе и другим пользователям:

$ chmod 700 file (rwx--)

Установка разрешений на чтение и запись для владельца файла и лишь чтения для группы и остальных:

$ chmod 644 file (rw-r–r–)

Установка разрешений на чтение и запись владельцу файлу и его группе и запрет доступа для других:

$ chmod 640 file (rw-r-–)

Установка доступа к файлу с разрешением чтения для всех пользователей и групп:

$ chmod 444 file (r–r–r–)

Права доступа к файлу для чтения, записи, выполнения владельцем и чтения, выполнения группе и другим:

$ chmod 755 file (rwxr-xr-x)

Разрешение доступа к файлу на чтение и выполнение пользователю и остальным и запрет доступа для группы:

$ chmod 505 file (r-x-r-x)

Если вы хотите назначить права доступа на все файлы в текущем каталоге, просто поставьте после назначаемых прав доступа знак * (звездочка):

$ chmod 755 *

В результате выполнения этой команды владелец получит полные права (чтение, изменение, выполнение) на все файлы текущего каталога, а группа и другие пользователи – только чтение и выполнение. Если вы хотите, чтобы ваши действия распространились рекурсивно (включая все подкаталоги), воспользуйтесь опцией -R:

$ chmod -R 777 *

Результатом выполнения вышеприведенной команды будет рекурсивный “обход” всех подкаталогов текущего каталога и назначение полного доступа для всех пользователей и групп. В этой статье рассмотрены лишь некоторые примеры применения команды chmod. Если вы хотите узнать подробнее о работе команды chmod и правах доступа в Linux, обратите внимание на эту статью.

Смена прав только у директорий (рекурсивно)

$ find /path/to/base/dir -type d -exec chmod 755 {} +

$ chmod 755 $(find /path/to/base/dir -type d)

$ chmod 755 `find /path/to/base/dir -type d`

$ find /path/to/base/dir -type d -print0 | xargs -0 chmod 755

Смена прав только у файлов (рекурсивно)

$ find /path/to/base/dir -type f -exec chmod 644 {} +

$ chmod 644 $(find /path/to/base/dir -type f)

$ chmod 0755 `find ./ -type f`

$ find /path/to/base/dir -type f -print0 | xargs -0 chmod 644

Синтаксис Chmod для папок и файлов

Давайте сначала разберемся в сути вопроса с Chmod, чтобы понимать, что именно и каким образом мы настраиваем. Итак приступим. Права доступа разделяются на Chmod к файлам и Chmod к директориям. Обозначаются они одинаково, но означают немного разное.

Права доступа (Chmod) к файлам подразделяются на:

    r - право на чтение данных.

    w - право на изменение содержимого (запись – только изменение содержимого, но не удаление).

    x - право на исполнение файла.

Остановимся чуть подробнее на праве исполнения файла. Дело в том, что в linux (Unix), любой файл может быть исполнен. Является ли он исполнительным - определяется не по его расширению (понятие расширение отсутствует в файловой системе Unix), а по правам доступа Chmod. Если у какого-либо файла установлено право “X” (chmod x), то это означает, что его можно запустить на выполнение.

Теперь о правах доступа (Chmod) к папке (директории):

    r - право на чтение директории (можно прочитать содержимое директории, т.е. получить список объектов, находящихся в ней)

    w - право на изменение содержимого директории (можно создавать и удалять объекты в этой директории, причем если вы имеете право на запись, то удалять вы сможете даже те файлы, которые вам не принадлежат)

    x - право, которое позволяет вам войти в директорию (это право всегда проверяется в первую очередь, и даже если вы имеете все нужные права на объект, который закопан глубоко в цепочке директорий, но не имеете права “X” для доступа хотя бы к одной директории на пути к этому файлу, то к нему вы так и не пробьетесь)

В системах linux (Unix) все эти права раздает главный администратор компьютера, доступ к которому он получает путем ввода пароля. И если большинство объектов будут иметь права доступа (Chmod) только для чтения, то вирусам на таком компьютере делать будет практически нечего, т.к. они не смогут себя туда ни записать, ни затем исполниться. Именно этого результата нам нужно добиться, выставляя права доступа (Chmod) на объекты нашего сайта.

Синтаксис Chmod для групп пользователей

Сами права доступа (Chmod) подразделяются на три категории, в зависимости от того, кто обращается к объекту:

    «user» - u (непосредственно владелец файла)

    «group» - g (член той же группы, к которой принадлежит владелец)

    «world» - o (все остальные)

Сервер определяет, к какой группе пользователей вас отнести в момент подключения вас к серверу. Когда вы, например, подключаетесь к серверу по протоколу FTP , то вы входите под своим именем пользователя (и паролем), и тогда сервер относит вас к группе «user» («u)». Прочие пользователи, которые тоже подключаются по FTP к серверу, будут отнесены к группе «group» («g»), а пользователь, который приходит к вам на сайт, используя свой браузер, попадает в группу «world» («o»).

Вариации трех возможных значений «r», «w» и «x» для трех категорий «u», «g» и «o» и определяют Chmod к файлам. Если не задана какая-то категория, то она заменяется знаком дефисом «-». права доступа (Chmod) указываются последовательно в заданном порядке:

    сначала права для владельца - «u»

    затем для группы - «g»

    и в конце права для всех остальных - «o»

После того, как сервер отнесет пользователя к определенной группе, он предоставляет ему права на действия с объектами, после чего пользователь сможет прочитать, записать или выполнить файл (в зависимости от того, что разрешено делать с данным объектом его группе). Чтобы посмотреть содержимое папки, она должна иметь атрибут чтения «r» (для той группы, к которой сервер отнес пользователя). Чтобы создать файл или папку в уже существующей, необходимо, чтобы она имела атрибут Chmod на запись «w».

Для наглядности давайте разберем пример, где владелец файла («user» - «u») имеет все права: право на чтение, запись в него и исполнение, а все остальные пользователи только право на чтение. Запись таких Chmod будет выглядеть так: «rwx r-- r--». Рассмотрим ее в деталях: «rwx» (эта запись задает права на объект для владельца - «u»), «r--» (эта запись задает права на тот же объект, но в случае если пользователь отнесен сервером к группы - «g»), «r--» (эта запись задает права на объект для всех остальных пользователей - o").

Чем отличаются Chmod файлов и папок

Ничего нельзя делать

Доступ к каталогу и его подкаталогам запрещен

Можно видеть и изменять содержимое

Можно добавить, удалить, изменить файл папки

Выполнить, если файл двоичный

Пользователь может выполнить двоичный файл о существовании которого ему известно, зайти или прочитать каталог запрещено

Синтаксис Chmod выраженных в цифрах (777)

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

    w (запись) заменяют на 2

    x (исполнение) заменяют на 1

0 означает – ничего не делать (то, что в буквенной записи обозначается дефисом) Давайте опять вернемся к примеру записи прав доступа, приведенному мною чуть ранее: rwx r-- r--. Если заменить в ней буквы и дефисы на цифры, в соответствии с только что описанным правилом и при этом сложить цифры в каждой тройке, то получим цифровой вид этой записи: 744. Т.е. получается, что сумма этих цифр и показывает Chmod к файлам или папке. Например:

    7 (rwx) = 4 + 2 +1 (полные права)

    5 (r-x)= 4 + 0 + 1 (чтение и выполнение)

    6 (rw-) = 4 + 2 + 0 (чтение и запись)

    4 (r--) =4 + 0 + 0 (только чтение)

В этой таблицы приведены все возможные комбинации Chmod записанные в цифровом виде:

А теперь давайте рассмотрим различные комбинации Chmod в цифрах, применительно к группам пользователей:

«„Владелец“»

«„Группа“»

«„Остальные“»

исполнять

исполнять

исполнять

Вы сами (кроме того случая, когда вы получаете доступ к сайту по FTP) и все остальные посетители вашего сайта, относитесь к группе “word” (все остальные), поэтому для работы с вебсайтом нам нужно в первую очередь смотреть на последнюю (третью) цифру Chmod. Для того чтобы при работе пользователя с сайтом «запускался файл» скрипта достаточно будет, чтобы на него были установлены права доступа (Chmod), начиная от «4» (r-- – только чтение) (5,6,7 тоже подойдут, но это будет лишнее в плане безопасности).

«Для папки» же, в которой лежит файл этого скрипта, нужно выставить минимум «5» (r-x - можно зайти в папку и прочитать его содержимое, удалять или добавлять нельзя). 7 тоже подойдет, но тоже будет уже лишним в плане безопасности. Если нужно, чтобы скрипт не только читался, но и «записывал» какие-то данные (например, введенные пользователем), то минимальные права на «папку» по-прежнему будут «5», но для «файла» уже понадобятся права «6» (читать и записывать).

Скорей всего на сервере, куда вы скопировали содержимое движка вашего сайта, будут установлены следующие Chmod к объектам:

Папки 755

владелец (user) может всё, группа и все остальные могут только читать папки и заходить в них, но им запрещено записывать файлы, изменять названия и стирать их в директориях. (rwxr-xr-x)

Файлы 644

Если бы у вас был сайт, состоящий из одних html, то можно было бы все так и оставить. Но современные сайты построены на движках, и там могут быть объекты, в которые нужно будет производить запись от имени пользователей из группы «world» - o (все остальные). Это могут быть папки, используемые для кэширования страниц или те, в которые по ходу работы с сайтом будут загружаться картинки и др. Само собой, что если вы зайдете на сайт по FTP , то сможете призвести запись в эти файлы или папки, но работая с интерфейсом вебсайта, как обычный пользователь, у вас могут возникнуть проблемы. Поэтому к установке тех или иных Chmod надо подходить избирательно.

Зачем я вообще взялся за эту статью? Частенько сталкиваюсь с ситуацией, когда начинающие кодеры веб-страниц задают примерно такой вопрос: «Я тут себе форум бесплатный скачал. Хочу его установить. А в настройках написано, что к отдельным файлам и целым папкам надо установить какие-то права доступа. Указывают цифры 777 или 755. А что это такое? Где и как устанавливаются эти права?».

Знакомая ситуация? Ходил-бродил я по форумам и понял, отвечать на эти вопросы через каждую неделю-две - скучно. Так и родилась эта статейка. Итак, приступим…

Но в самом начале скажу, не советую я вам пользоваться сторонними скриптами, которые требуют прав 777. Позже вы сами поймете почему.

Откуда же «ноги растут» у проблемы c правами доступа? Могу с полной ответственностью заявить: во всем виноват UNIX. Именно от его прав доступа к файлам и папкам всё и исходит. Немного теории. Все пользователи в юниксе располагаются по группам. Одни и те же пользователи могут членствовать сразу в нескольких группах. Права доступа им можно раздавать как для целых групп, так и индивидуально. Администраторы (входят в группу wheel), это - пользователи, которые могут присваивать те, или иные права доступа к файлам себе и остальным пользователям. Это просто и удобно. Предположим, есть группа пользователей, которым разрешено лишь читать документы из определенной папки и совсем нет никакого доступа в другие места системы.

Итак, первое: права доступа различны у разных групп пользователей и второе: эти права делятся по трем категориям (право на чтение файла, право на запись в файл, право на запуск файла, как программы). В этом месте мне прийдется сделать отступление от темы.

Самое место поговорить о двоичных числах и двоичной системе счисления. Не волнуйтесь, я затрону эту тему лишь вскользь, ровно настолько, насколько это необходимо в данной статье. В двоичной арифметике всего два числа, которые можно записать одним символом, это - 0 и 1. А как же в такой системе записать число 2, 3 и т.д.? Да также, как и в привычной нам десятичной. Когда все числа от 0 до 9 исчерпаны, далее числа мы составляем из двух и более цифр. Так же мы поступим и здесь. Число 2 в двоичной системе счисления, это - 10. Я приведу соответствие десятичных чисел и двоичных для большей наглядности.

Здесь видно, когда не хватает 2 цифр, числа уже состоят из 3 цифр и т.д. Десятичное число 8, например, уже выглядело бы в двоичной системе как 1000. Честное слово, на этом о двоичных числах всё. Возвращаемся к нашей теме.

Помните, пару абзацев назад я писал о трёх категориях прав доступа к файлам? Это были чтение, запись и запуск. Если условиться, что разрешение в любой из этих категорий кодируется единицей (1), а запрет нулём (0), то несложно заметить, что закодировать разрешение читать файл и запрет записи и запуска можно тремя цифрами: 100. А разрешить всё тремя единичками: 111. Давайте вспомним приведенную выше таблицу соответствия двоичных чисел привычным нам десятичным. Первый пример, право только на чтение (100) можно, если принять записи из ноликов и единиц за двоичные числа, записать как четверку. Двоичное число 100 = 4 десятичному. Второй пример с тремя единицами, можно записать как десятичное 7.

Именно так и появляются цифры в тех самых правах доступа к файлам: семёрки и пятёрки, четвёрки и нолики. Но внимательный читатель заметит: «Секундочку, а почему же этих цифр три? Почему, говоря о правах, пишут 777 или 755?» И, конечно, будет прав. Дело здесь вот в чём. У каждого файла в юниксе есть хозяин. Это либо пользователь, создавший его, либо тот, кого администраторы указали в данном качестве. Скажем, администратор создает файл и назначает его хозяином рядового пользователя из какой-то группы. С этого момента данный пользователь сам может назначать права доступа к этому файлу другим пользователям системы. В этой связи, все пользователи делятся на три основных категории: хозяин файла, те кто входит с ним в одну группу, все остальные. Для каждой их этих категорий права доступа указываются отдельной цифрой. Вот их три и получается.

Приведем пример : У файла установлены права 755. Первая цифра - 7, это значит, что хозяин имеет на файл все права: чтение, запись и запуск (7 - 111). Вторая цифра - 5, пользователи из одной с хозяином группы имеют возможность читать и запускать файл, но не могут в него писать (5 - 101). Аналогично и все остальные - третья цифра тоже пятерка.

Часто пишут о правах доступа не в цифрах, а буквами. В этом случае права обозначают так: r (r ead - чтение), w (w rite - запись), x (ex ecute - запуск). Если того или иного права нет, вместо буквы пишут знак минус. Используя такую форму записи, можно права доступа 755, например, обозначить так: rwxr-xr-x. Такая запись многим покажется более наглядной. Что ж, может и так.

В юниксподобных ОС для задания прав доступа к файлам служит команда chmod. О том как ей пользоваться я здесь писать не стану (это выходит за тему данной статьи). Напомню лишь о том, что сайты многих из вас, возможно распологаются именно на таких серверах. Узнать это можно, например связавшись с вашим хостером (компанией, предоставившей вам хостинг). Если окажется, что сайт у вас расположен на сервере под управлением Windows, вам также придется задавать вашим файлам и папкам права доступа, хотя раньше на таких веб-серверах всё сводилось к ситуации, когда всё разрешено - 777.

Кто-то, возможно посетует, что я не написал здесь о том как выставить всё же права доступа к файлам? Что ж, могу сказать одно, файлы на сервер можно выложить несколькими способами, точнее используя разные протоколы. Популярными являются ftp и ssh. Второй часто называют шелом. Если ваш хостер позволяет им пользоваться, вы сможете в этом случае воспользоваться юниксовой командой chmod для указания прав доступа к вашим файлам. Если же вы выкладываете файлы по ftp-протоколу, то, скорее всего, для этой цели используете какую-нибудь программу. В ней наверняка есть возможность выставить права доступа к файлам, которые вы закачали на сайт. Причем разные программы используют для этого обе формы записи и буквенную и цифровую. Вам остается лишь узнать как именно выставляются эти пресловутые права вашей любимой программой. А я попытался объяснить что означают цифры и буквы в этих записях. Дерзайте.

15 комментариев на «755 или права доступа к файлам и папкам»

    Ище права можно установить, открыв ftp папку в проводнике виндовса (в ослике есть такая возможность), кликнуть по файлу/папке правой кнопкой, выбрать свойства и там поставить необходимые галочки:D

    • Разумеется можно. Я не писал в этой статейке как устанавливать права доступа к файлам в unix-системах при помощи тех или иных ftp-клиентов. В конце концов, юниксовую команду chmod ещё никто не отменял. Я лишь объяснил, как мне кажется, доходчиво, что именно значат цифры в правах доступа к файлам и папкам. Именно поэтому данная статья и находится в рубрике «Компьютерная теория». Приятно, что кто-то это читает. :)

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

Права доступа 777 - что это?

Базовый принцип способа распределения доступа включает в себя существование обязательных атрибутов, таких как имена пользователей системы, а также их групп. Почти очевидным является тот факт, что в Linux у каждого юзера может быть только одно имя, которое должно быть уникально в рамках этой системы. С помощью никнейма пользователь входит в систему, то есть проходит авторизацию. Помимо этого, операционка содержит конечное число групп пользователей. Каждый из них может входить в состав одной или нескольких групп. Редактировать свойства, создавать и удалять группы может суперпользовать - root. Участники различных групп имеют различные права для действий в системе. Так, например, администратор владеет большими правами, чем гость.

Индексный дескриптор (который есть у каждого файла) содержит логин владельца и название группы пользователей, имеющей права к данному файлу.

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

Как изменить права доступа

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

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

Мнемонические обозначения прав доступа

Доступ к файлам в системе прав имеет такие вариации:

  • r - доступ к чтению файла;
  • w - право редактирование данных (но не удаление);
  • x - возможость запускать файл к исполнению.

По отношению к каталогам действует такия система прав:

  • r — пользователь может читать любые файлы директории;
  • w — с этими правами можно создавать и удалять файлы в папке, даже если некоторые из них в каталоге принадлежат другому юзеру;
  • x — обозначает право входа в директорию. Если вы имеете права w к вложеной папке но не имеете прав на папку уровнем выше, то и к своей папке никак не пробьетесь.

Всего возможно 8 различных комбинаций, которые приведены на рисунке ниже.

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

Как установить права доступа 777 через SSH

Приведем некоторые примеры использование команды chmod:

  • chmod 711 file_name.txt.

Использование такого сценария распределения файлов приведет к тому, что у владельца будут все права на файл, а все остальные группы пользователей смогут только выполнять его.

При использования кода 775 мы предоставим владельцу и всей его группе полный перечень прав. Остальные же пользователи не смогут выполнять изменения в файле. Нужно сказать, что для указания файла только по его собственному имени, необходимо находится в директории, где расположен этот файл. В ином случае вы можете переместиться в эту директорию командой cd имя_директории/имя_вложеной_директории или использовать следующую структуру:

  • chmod 775 /var/bin/file_name.txt.

Чтобы рекурсивно изменить права ко всем файлам в каталоге и всем вложенным папкам, нужно добавить ключ -R к команде chmod. Полученная команда будет выглядеть так:

  • chmod -R 711 file_name.

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

  • chmod 777 имя_файла.

Как установить права доступа 777 в контрольной панели сервера

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

Иногда, в случае срочной надобности, у вас может не быть доступа к Windows-клиенту, поэтому можно осуществить смену прав доступа через контрольную панель веб-сервера. Для этого, используя файловый менджер вашей контрольной панели, выберите необходимые файлы и нажмите на кнопку Change Permissions ("Смена прав"). Далее необходимо будет так же отметить всё галочками, и теперь вопрос, как установить права доступа 777 на папку больше не будет для вас сложным.

Компьютеры, работающие под управлением операционных систем Windows, могут работать с различными файловыми системами, такими как FAT32 и NTFS. Не вдаваясь в подобности можно сказать одно, что отличаются они главным – файловая система NTFS позволяет настраивать параметры безопасности для каждого файла или папки(каталога). Т.е. для каждого файла или папки файловая система NTFS хранит так называемые списки ACL(Access Control List), в которых перечислены все пользователи и группы, которые имеют определенные права доступа к данному файлу или папке. Файловая система FAT32 такой возможности лишена.

В файловой системе NTFS каждый файл или папка могут иметь следующие права безопасности:

  • Чтение — Разрешает обзор папок и просмотр списка файлов и подпапок, просмотр и доступ к содержимому файла;
  • Запись — Разрешает добавление файлов и подпапок, запись данных в файл;
  • Чтение и Выполнение — Разрешает обзор папок и просмотр списка файлов и подпапок, разрешает просмотр и доступ к содержимому файла, а также запуск исполняемого файла;
  • Список содержимого папки — Разрешает обзор папок и просмотр только списка файлов и подпапок. Доступ к содержимому файла это разрешение не дает!;
  • Изменить — Разрешает просмотр содержимого и создание файлов и подпапок, удаление папки, чтение и запись данных в файл, удаление файла;
  • Полный доступ — Разрешает просмотр содержимого, а также создание, изменение и удаление файлов и подпапок, чтение и запись данных, а также изменение и удаление файла

Перечисленные выше права являются базовыми. Базовые права состоят из особых прав. Особые права — это более подробные права, из которых формируются базовые права. Использование особых прав дает очень большую гибкость при настройке прав доступа.

Список особых прав доступа к файлам и папкам:

  • Обзор папок/Выполнение файлов — Разрешает перемещение по структуре папок в поисках других файлов или папок, выполнение файлов;
  • Содержание папки/Чтение данных — Разрешает просмотр имен файлов или подпапок, содержащихся в папке, чтение данных из файла;
  • Чтение атрибутов — Разрешает просмотр таких атрибутов файла или папки, как «Только чтение» и «Скрытый»;
  • Чтение дополнительных атрибутов — Разрешает просмотр дополнительных атрибутов файла или папки;
  • Создание файлов / Запись данных — Разрешает создание файлов в папке (применимо только к папкам), внесение изменений в файл и запись поверх имеющегося содержимого (применимо только к файлам);
  • Создание папок / Дозапись данных — Разрешает создание папок в папке (применимо только к папкам), внесение данных в конец файла, но не изменение, удаление или замену имеющихся данных (применимо только к файлам);
  • Запись атрибутов — Разрешает или запрещает смену таких атрибутов файла или папки, как «Только чтение» и «Скрытый»;
  • Запись дополнительных атрибутов — Разрешает или запрещает смену дополнительных атрибутов файла или папки;
  • Удаление подпапок и файлов — Разрешает удаление подпапок и файлов даже при отсутствии разрешения «Удаление» (применимо только к папкам);
  • Удаление — Разрешает удаление файла или папки. Если для файла или папки отсутствует разрешение «Удаление», объект все же можно удалить при наличии разрешения «Удаление подпапок и файлов» для родительской папки;
  • Чтение разрешений — Разрешает чтение таких разрешений на доступ к файлу или папке, как «Полный доступ», «Чтение» и «Запись»;
  • Смена разрешений — Разрешает смену таких разрешений на доступ к файлу или папке, как «Полный доступ», «Чтение» и «Запись»;
  • Смена владельца — Разрешает вступать во владение файлом или папкой;
  • Синхронизация — Разрешает ожидание различными потоками файлов или папок и синхронизацию их с другими потоками, могущими занимать их. Это разрешение применимо только к программам, выполняемым в многопоточном режиме с несколькими процессами;

!!!Все базовые и особые права являются как разрешающими так и запрещающими.

Все разрешения файлов и папок делятся на два вида: явные и наследуемые. Механизм наследования подразумевает автоматическую передачу чего-либо от родительского объекта дочернему. В файловой системе это означает, что любой файл или папка могут наследовать свои права от родительской папки. Это очень удобный механизм, избавляющий от необходимости назначать явные права для всех вновь создаваемых файлов и папок. Представьте, что у вас на каком-то диске несколько тысяч файлов и папок, как им всем раздать права доступа, сидеть и каждому назначать? Нет. Тут работает механизм наследования. Создали папку в корне диска, папка автоматически получила точно такие же права, как и корень диска. Изменили права для вновь созданной папки. Потом внутри созданной папки создали еще вложенную папку. У этой вновь созданной вложенной папки права унаследуются от родительской папки и т.д. и т.п.

Результатом применения явных и наследуемых прав и будут фактические права на конкретную папку или файл. Подводных камней при этом очень много. Например, у вас есть папка, в которой вы разрешаете пользователю «Вася» удалять файлы. Потом вы вспоминаете, что в этой папке есть один очень важный файл, который Вася ни в коем случае не должен удалить. Вы устанавливаете на важный файл явный запрет (особое право запрета «Удаление») . Казалось бы, дело сделано, файл явно защищен от удаления. А Вася спокойно заходит в папку и удаляет этот суперзащищенный файл. Почему? Потому что Вася имеет права удаления от родительской папки, которые в данном случае являются приоритетными.

Старайтесь не пользоваться назначением прав, непосредственно, на файлы, назначайте права на папки.

!!! Старайтесь назначать права только для групп, это значительно упрощает администрирование. Назначение прав для конкретных пользователей не рекомендуется фирмой Microsoft. Не забывайте, что в группу могут входить не только пользователи, но и другие группы.

Например. Если компьютер включен в домен, то в его локальную группу «Пользователи» автоматически добавляется группа «Domain Users»(пользователи домена), а в локальную группу «Администраторы» автоматически добавляется группа «Domain Admins»(администраторы домена), и соответственно, назначая на какую-либо папку права группе локальных пользователей, вы автоматически назначаете права для всех пользователей домена.

Не расстраивайтесь если все описанное выше сразу не очень понятно. Примеры и самостоятельная работа быстро исправят положение!

Переходим к конкретике.

Все примеры я буду показывать на примере окон Windows XP. В Windows 7 и выше сущность осталась идентичной, только окон стало немного больше.

Итак, чтобы назначить или изменить права на файл или паку необходимо в проводнике нажать правой клавишей мышки на нужный файл или папку выбрать пункт меню «Свойства»

У вас должно открыться окно с закладкой «Безопасность»

Если такой закладки нет, тогда делаем следующее. Запускаем Проводник, затем открываем меню «Сервис» «Свойства папки…»

В открывшемся окне переходим на закладку «Вид» и снимаем галочку с параметра «Использовать простой общий доступ к файлам(рекомендуется)»

Все, теперь вам доступны все свойства файловой системы NTFS.

Возвращаемся к закладке «Безопасность» .

В открывшемся окне нам доступно много информации. Сверху находится список «Группы и пользователи:» , в котором перечислены все пользователи и группы, имеющие права доступа к данной папке (стрелка 1). В нижнем списке показаны разрешения для выделенного пользователя/группы(стрелка 2). В данном случае это пользователь SYSTEM. В данном списке разрешений видны базовые разрешения. Обратите внимание, что в колонке «Разрешить» галочки имеют блеклый цвет и не доступны для редактирования. Это говорит о том, что данные права унаследованы от родительской папки. Еще раз, в данном случае все права пользователя SYSTEM на папку «Рабочая» полностью унаследованы от родительской папки, и пользователь SYSTEM имеет все права («Полный доступ» )

Выделяя в списке нужную группу или пользователя, мы можем посмотреть базовые права для этой группы или пользователя. Выделив пользователя «Гостевой пользователь ([email protected] можно увидеть, что у него все права явные

А вот группа «Пользователи (KAV-VM1\Пользователи» имеет комбинированные права, часть из них унаследована от родительской папки(серые квадратики напротив «Чтение и выполнение» , «Список содержимого папки» , «Чтение» ), а часть установлено явно – это право «Изменить» и «Запись»

!!!Внимание. Обратите внимание на названия пользователей и групп. В скобочках указывается принадлежность группы или пользователя. Группы и пользователи могут быть локальными, т.е. созданными непосредственно на этом компьютере, а могут быть доменными. В данном случае группа «Администраторы» локальная, так как запись в скобочках указывает имя компьютера KAV-VM1, а после слэша уже идет само название группы. Напротив, пользователь «Гостевой пользователь» является пользователем домена btw.by, на это указывает запись полного имени [email protected]

Зачастую при просмотре или изменении прав можно ограничиться окном с базовыми правами, но иногда этого недостаточно. Тогда можно открыть окно, в котором изменяются особые разрешения, владелец или просматриваются действующие разрешения. Как это сделать? Нажимаем на кнопку «Дополнительно» . Открывается вот такое окно

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

Аналогично базовым разрешениям, особые разрешения, унаследованные от родительской папки, будут показаны блеклым серым цветом и не будут доступны для редактирования

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


Это происходит потому, что для одного пользователя или группы могут быть различные виды прав: явные и наследуемые, разрешающие или запрещающие, различающиеся по виду наследования. В данном случае права на чтение для группы «Пользователи» наследуются от родительской папки, а права на изменение добавлены явно.

Примеры назначения прав.

!!! Все примеры будут идти с нарастанием сложности. Читайте и разбирайтесь с ними в такой же последовательности как они идут в тексте. Однотипные действия в последующих примерах буду опускать, чтобы сократить объём текста. 🙂

Пример 1. Предоставление права доступа к папке определенной локальной группе безопасности только на чтение.

Сначала создадим локальную группу, в которую включим весь список нужных нам пользователей. Можно и без группы, но тогда для каждого пользователя нужно будет настраивать права отдельно, и каждый раз, когда понадобится дать права новому человеку, потребуется проделывать все операции заново. А если права предоставить локальной группе, то для настройки нового человека понадобится только одно действие – включение этого человека в локальную группу. Как создать локальную группу безопасности читаем в статье «Настройка локальных групп безопасности».

Итак. Мы создали локальную группу безопасности с именем «Коллегам для чтения»,


в которую добавили всех нужных пользователей.

Теперь настраиваю права доступа к папке. В данном примере я сделаю права доступа созданной группе «Коллегам для чтения» на папку «Фото» .

Нажимаю правой клавишей мышки на папку «ФОТО» и выбираю пункт меню «Свойства» , перехожу на закладку «Безопасность» .

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

Поэтому, я должен убрать наследование прав и удалить ненужных пользователей и группы из списка. Нажимаю кнопку «Дополнительно» . В открывшемся окне,


убираю галочку с пункта «Наследовать от родительского объекта применимые к дочерним объектам разрешения, добавляя их к явно заданным в этом окне.» . При этом откроется окно, в котором я смогу выбрать, что делать с текущими унаследованными правами.

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

После того, как я нажал «Копировать», я опять возвращаюсь в предыдущее окно, только уже со снятой галочкой.

Нажимаю «ОК» и возвращаюсь в окно базовых прав. Все права стали доступны для редактирования. Мне нужно оставить права для локальной группы «Администраторы» и пользователя SYSTEM , а остальных удалить. Я поочередно выделяю ненужных пользователей и группы и нажимаю кнопку «Удалить» .

В результате у меня получается вот такая картина.

Теперь мне остается добавить только группу «Коллегам для чтения» и назначить этой группе права на чтение.

Я нажимаю кнопку «Добавить» , и в стандартном окне выбора выбираю локальную группу «Коллегам для чтения» . Как работать с окном выбора подробно описано в статье .

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

Все, остается нажать кнопку «ОК» и права назначены. Теперь любой пользователь, который принадлежит локальной группе безопасности «Коллегам для чтения», получит возможность читать все содержимое папки «ФОТО» .

Пример 2. Предоставление персонального доступа пользователям к своим подпапкам в папке.

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

Для данного примера я немного перефразирую задание. Предположим у нас есть общая папка «ФОТО» , в которой для каждого пользователя есть подпапка. Необходимо настроить права так, чтобы пользователь имел в своей подпапке все права, а подпапки других пользователей были бы ему недоступны.

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


и перехожу в окно особых прав, в котором выделяю группу «Коллегам для чтения» и нажимаю кнопку «Изменить»

В открывшемся окне я меняю правила наследования, вместо значения в поле «Применять:» я выбираю значение «Только для этой папки» .

Это самый ключевой момент этого примера. Значение «Только для этой папки» приводит к тому, что права чтения для группы «Коллегам для чтения» распространяются только на корень папки «ФОТО» , но не на подпапки. Таким образом, каждый пользователь сможет добраться к своей папке, но заглянуть в соседнюю не сможет, права на просмотр подпапок у него нет. Если же не дать такое право группе совсем, то пользователи вообще не смогут попасть в свои подпапки. Файловая система не пропустит их даже в папку «ФОТО» .

В итоге, пользователи смогут заходить в папку «ФОТО» но дальше в подпапки зайти не смогут!

В окне особых прав нажимаем «ОК» и выходим в предыдущее окно, теперь в столбце «Применять к» напротив группы «Коллегам для чтения» стоит значение «Только для этой папки» .

Нажимаем во всех окнах «ОК» и выходим.

Все. Теперь остается настроить персональные права на каждую подпапку. Сделать это придется для каждой подпапки, права-то персональные для каждого пользователя.

Все нужные действия вы уже делали в первом примере, повторим пройденное 🙂

На подпапке «Пользователь1» нажимаю правой клавишей мышки, выбираю пункт меню «Свойства» , перехожу на закладку «Безопасность» . Нажимаю кнопку «Добавить»

и в стандартном окне выбора выбираю доменного пользователя с именем «Пользователь1» .

Остается установить галочку для разрешающего права «Изменить» . При этом галочка для разрешающего права «Запись» установится автоматически.

Нажимаем «ОК» . Выходим. Остается повторить аналогичные действия для всех подпапок.

Пример 3. Предоставление персонального доступа пользователю к своей подпапке на запись, с одновременным запретом изменения или удаления.

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

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

В открывшемся окне выделяем «Пользователь1» и нажимаем кнопку «Изменить»

В открывшемся окне мы видим стандартные права на чтение

Для того чтобы дать права пользователю создавать файлы ставим разрешение на право «Создание файлов/Запись данных» , а на права «Удаление подпапок и файлов» и «Удаление» ставим запрет. Наследование оставляем стандартное «Для этой папки, ее подпапок и файлов» .

После нажатия кнопки «ОК» и возврата в предыдущее окно можно увидеть существенные изменения. Вместо одной записи для «Пользователь1» появилось две.

Это потому, что установлены два вида прав, одни запрещающие, они идут в списке первыми, вторые разрешающие, они в списке вторые. Так как особые права являются нестандартными, то в столбце «Разрешение» стоит значение «Особые» . При нажатии кнопки «ОК» появляется окно, к котором windows предупреждает, что есть запрещающие права и что они имеют более высокий приоритет. В переводе это означает туже ситуацию с самозакрывающейся дверью, ключи от которой находятся внутри. Подобную ситуацию я описывал во втором примере.

Все. Права установлены. Теперь «Пользователь1» сможет записать в свою папку любой файл, открыть его, но изменить или удалить не сможет.

А как же полная аналогия с реальным почтовым ящиком?

Чтобы пользователь не смог открыть или скопировать записанный файл, нужно сделать следующее. Опять открываем разрешающие особые разрешения для «Пользователь1» , и в поле «Применять:» меняем значение на «Только для этой папки»

При этом у пользователя не остается права на чтение или копирование файла.

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

Просмотр действующих прав.

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

Описанный в самом начале статьи случай, с запретом на удаление файла из папки в данном случае является очень красноречивым. Если вы смоделируете подобную ситуацию и посмотрите на права файла, защищенного от удаления, то вы увидите, что в правах файла на удаление стоит запрет. Однако, удалить этот файл не составит труда. Почему Майкрософт так сделала — я не знаю.

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

Затем необходимо нажать кнопку «Выбрать» и в стандартном окне выбора выбрать нужного пользователя или группу.

После выбора можно увидеть «приблизительные» действующие разрешения.

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

При работе с файлами, расположенными на веб-сервере , часто возникает необходимость установить или изменить права доступа к папкам и файлам (chmod) вида 777 . В семействе серверных операционных систем Unix, права доступа (chmod) вида 777 регламентируют такие действия: чтение, запись в папку или файл и выполнение файла.

Что такое «права доступа» в операционной системе

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

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

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

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

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

Как работают «права доступа»

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

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

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

Права доступа (chmod) вида 777 для серверных ОС Unix регламентируют разрешение или запрет для пользователя на такие действия, как: чтение, запись в папку или файл и выполнение исполнительных файлов

Что такое chmod

Что такое 777

В серверных ОС Unix права доступа записываются одной строкой, состоящей из трёх цифр, где каждая цифра относится к своему типу группы пользователей. В свою очередь, все пользователи подразделяются на группы трёх типов:

  1. группа Owner - «Владелец папки или файла»
  2. группа Group - «Член группы владельца папки или файла»
  3. группа World или Public - «Все остальные пользователи»

Таким образом, три цифры в обозначении, вида 777 - это выставленные права доступа сразу для трёх групп пользователей папки или файла, где - каждая из трех цифр обозначает права доступа для своей группы пользователей.

Теперь осталось разобраться, кто такой «Владелец»,
что такое «Член группы владельца»
и кто это такие «Все остальные пользователи».

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

Поскольку, мы здесь говорим про сервера, сайты и серверные ОС Unix, то:

Разделение всех пользователей на группы в серверных ОС Unix реализовано следующим образом - Владелец и Члены группы владельца подключаются к серверу, используя спецсвязь (FTP, SSH) (FTP, SSH-протокол), а все остальные пользователи заходят на сайт с веб-браузера (http-протокол)

Отсюда вытекает что, в зависимости от протокола обращения к файлу на сервере, серверная ОС Unix сразу делит пользователей на две части, либо - это владелец или член группы владельца, либо - все остальные пользователи. Основанием для такой «сортировки», (повторяюсь) является сетевой протокол соединения - если пользователь подключился к серверу, используя FTP-аккаунт (FTP-протокол), то это - или владелец или член его группы. А если пользователь зашёл на сервер с веб-браузера (http-протокол), то это уже третья группа - все остальные пользователи.

Таким образом, для серверной ОС 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-файловые менеджеры поддерживают, и тот, и другой способ.

Облом вида 777 на Денвере

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

Сообщение для инопланетян:
Не нужно пытаться выставить права доступа (chmod) вида 777 при работе с широко известным пакетом , который только имитирует работу веб-сервера под управлением операционной системы Unix на локальном компьютере, на самом деле работающем под управлением операционной системы Windows. Там нет такой кнопки .

Файлы в Linux имеют двух владельцев

Необходимо правильно выставить права на файлы и папки. Сделать это можно с помощью FileZilla. Вообще для каждого сервера нужны свои определённые настройки, которые лучше узнать у своего хостера. Но обычно права ставят такие: на файлы, которые находятся в корневой директории 444, на папки в корневой директории ставят 755, на папки tmp и logs ставят 705, на паку своего шаблона поставьте 555, на папку image/stories можно поставить 755, на папку Cache 777.

Владельцем нового файла является пользователь, который создал файл.

Файлы в Linux имеют двух владельцев: пользователя (user owner) и группу (group owner) под которой понимается определенный список пользователей и причем владелец файла не обязательно должен быть членом группы владеющей файлом. Каждый пользователь может быть членом сразу нескольких групп одна из которых называется первичной (primary), а все остальные — дополнительными (supplementary). Это дает большую гибкость в организации доступа к определенному файлу. Совместное использование некоторым ресурсом организовать очень просто, достаточно создать новую группу и включить в нее всех кому это действительно необходимо, а если человек предположим перешел в другой отдел и уже нет необходимости в использовании данного файла. А все очень просто, необходимо просто выключить его из состава данной группы. Ну а, что делать с остальными неужели они так и не смогут хотя бы прочитать содержимое файла или их прийдется каждый раз включать и исключать из группы.
А вот для всех остальных (other) которые не принадлежат ни к user owner и group owner права доступа устанавливаются отдельно и как правило самые минимальные. Обычно владельцем файла является пользователь который создал данный файл. Владелец-группа вновь создаваемого файла устанавливается равной первичной группе пользователя создавшего файл, но в некоторых версиях Unix владелец-группа наследуется от владельца-группы каталога в котором создается файл. Для изменения владельца файла используется команда chown в качестве параметров принимающая имя нового владельца и список файлов: # chown new_owner file1 file2 …Конечно же на месте названия файла может быть и имя каталога, но при этом владелец файлов внутри каталога не изменится, для того чтобы это произошло лучше всего воспользоваться флагом -R (chown -R). При использовании данной команды (впрочем как и большинства) можно пользоваться регулярными выражениями если есть необходимость отобрать файлы удовлетворяющие определенному критерию (chown — R lys *.с). Для изменения владельца группы используется команда chgrp, синтаксис использования данной команды аналогичен предыдущей: # chgrp sales /home/sales/*. Кстати команда chown позволяет сразу установить и группу-владельца для этого необходимо сразу за именем владельца без пробелов и др. знаков поставить двоеточие и написать название необходимой группы
# chown — R sergej:gljuk * , допускается и такой вариант записи # chown — R:gljuk * (т.е. аналог команды chgrp).
Владение файлом определяет те операции которые тот или иной пользователь может совершить над файлом. Самые очевидные из них это изменение владельца и группы для некоторого файла. Эти операции может проделать суперпользователь и владелец файла (в производных BSD UNIX только суперпользователь). Если с первым все понятно, то например написав программу и сделать затем ее владельцем, например суперпользователя увы не получится, и хотя вариант изменения владельцем допускается варианта такого применения я честно говоря не нашел. А вот группу, если вы являетесь владельцем файла, можно изменить только на свою первичную (по умолчанию имеет то же название, как и имя соответствующего пользователя). Эти все ограничения введены по нескольким причинам, чтобы никто не мог подсунуть какой ни будь зловредный файл и для того чтобы если на компьютере установлен лимит дискового пространства для конкретного пользователя, нельзя было просто переопределив владельца превысить его.
Следующие базовые операции которые можно совершить над файлом: это доступ на чтение (Read), доступ на запись (Write) и доступ на выполнение (eXecute). Эти операции устанавливаются для каждой из трех групп пользователей раздельно. Причем проделать это может только пользователь владелец и конечно же суперпользователь. Для установки соответствующих прав используется команда chmod. Применяется она в двух формах абсолютной — когда игнорируются старые права, а безусловно устанавливаются новые, и относительной — когда к имеющимся правам добавляются/убираются другие. Абсолютная форма предполагает задание прав доступа к файлу прямым заданием его в восьмеричной форме. Для того чтобы получить полный код необходимого режима файла, необходимо просто сложить значения кодов приведенных в таблице.