Разработанный ещё в 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 на папку больше не будет для вас сложным.

Август 12

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

Итак, права в Linux на любой файл или папку всегда назначаются, для 3х групп пользователей:

1. Сам пользователь .

2. Группа этого пользователя (права будут действительны для всех юзеров, входящих в эту группу).

3. Все остальные пользователи .

Права могут быть 3х видов:

r - разрешает просмотр содержимого w - разрешает изменение содержимого x - разрешает запуски выполнение

Ниже представлена таблица, показывающая разнообразные комбинации Chmod для разных типов объектов:

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

‘Права’ ‘Файл’ ‘Папка’
- Ничего нельзя делать Доступ к каталогу и его подкаталогам запрещен
r— Можно читать содержимое Можно прочитать содержимое каталога
rw- Можно видеть и изменять содержимое Можно добавить, удалить, изменить файл каталога
rwx Читать, изменять и выполнять файлик Можно читать, удалять, изменять файлики, сделать каталог текущим, т.е. “войти” в этот каталог.
r-x Можно прочитать, либо выполнить Можно зайти в каталог и прочитать его содержимое, удалять или добавлять файлы нельзя.
—x Выполнить, если файлик двоичный Пользователь может выполнить двоичный файл о существовании которого ему известно, зайти или прочитать каталог запрещено

Таблица значений:

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

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

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

0 означает – ничего не делать (то, что в буквенной записи обозначается дефисом )

Давайте опять вернемся к примеру записи, приведенному мною чуть ранее: rwx rwx r-- . Если заменить в ней буквы и дефисы на цифры, в соответствии с только что описанным правилом и при этом сложить цифры в каждой тройке, то получим цифровой вид этой записи: 774 .

Т.е. получается, что сумма этих цифр и показывает chmod по отношению к файлам или папке. Например:

7 (rwx) = 4 + 2 +1 (полные права) 5 (r-x) = 4 + 0 + 1 (чтение и выполнение) 6 (rw-) = 4 + 2 + 0 (чтение и запись) 4 (r--) =4 + 0 + 0 (только чтение)

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

‘Права’ ‘Владелец’ ‘Группа’ ‘Остальные’
777 читать
записывать
исполнять
читать
записывать
исполнять
Читать
записывать
исполнять
776 читать
записывать
исполнять
читать
записывать
исполнять
Читать
записывать
775 читать
записывать
исполнять
читать
записывать
исполнять
Читатьисполнять
774 читать
записывать
исполнять
читать
записывать
исполнять
Читать
766 читать
записывать
исполнять
читать
записывать
Читать
записывать
655 читать
записывать
читатьисполнять Читатьисполнять
644 читать
записывать
читать Читать

Сама команда назначения прав выглядит следующим образом:

chmod ‘числовое значение прав’ ‘папка или файл, на который назначаем права’

Примеры

chmod 777 script.sh полные права на запись, чтение и исполнение для всех групп пользователей для файла script.sh соответствие: rwxrwxrwx chmod 644 /home/feanor184/script.sh права на чтение и запись для владельца файла script.sh который находится в корневой домашней директории пользователя feanor184, для остальных групп этот файл будет доступен только для чтения. соответствие: rw-r-r- chmod -R 777 /scripts полные права на папку scripts и на все вложенные в нее файлы, для всех групп пользователей. (ключ -R задается для назначения прав для вложенных файлов)

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

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

Что обозначает данный термин?

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

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

Права доступа 777 - атрибут, позволяющий читать, запускать и переписывать/создавать файлы в директории всем перечисленным выше видам пользователей, существующий только для платформы Linux. Данная функция предоставляет полные возможности для взаимодействия с информацией, но, к сожалению, далека от представлений о безопасности. Это действие аналогично помещению файла в раздел общих документов в ОС Windows.

Права доступа 777: значение числа

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

Таким образом, это численное сочетание является арифметической суммой: 2 (запись), 4 (чтение) и 1 (выполнение) и описывает возможности, которые предоставляет данная функция.

Как установить права 777?

Зная, что вышеописанный атрибут позволяет пользователю расшифровку числового обозначения, выставить его не составит большого труда. Чтобы сделать это, потребуется любой файловый менеджер, поддерживающий FTP-соединение с сервером, зайти на который возможно от имени администратора.

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

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

Только для многопользовательских серверов

Главное - помнить, что права 777 существуют лишь для файлов, располагающихся непосредственно на многопользовательском сервере, и не устанавливаются на отдельном компьютере.

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

И, конечно же, следует помнить о том, что выставить этот вид доступа для пакета «Денвер» не получится, поскольку он имитирует работу сетевого веб-сервиса, однако, таковым на деле не является, осуществляя деятельность на платформе Windows. Данная ОС не относится к разряду серверных, потому при установке скриптов на «Денвер» требования об изменении прав доступа следует просто проигнорировать.

Недостатки прав полного доступа

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

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

Перед тем как установить права доступа 777, стоит хорошо подумать, не приведёт ли подобная небрежность к взлому ресурса.

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

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

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

CHMOD для пользователей и права доступа к файлам и папкам (директориям)

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

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

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

  1. «user» - владелец файла
  2. «group» - один из членов группы, к которой принадлежит и владелец
  3. «world» - “остальной мир”, то есть все остальные пользователи

Если вы подключаетесь к серверу по и заходите под своим логином и паролем, то будете идентифицированы как “user” (u), если кто-либо другой подключается по FTP, то будет определен как “group” (g), если же пользователь использует браузер, то попадает под категорию “world” (o).

Теперь о правах доступа CMOD к файлам и директориям. По сути они немного отличаются, хотя обозначения применяются одни и те же. Права доступа к файлам:

  • r (read) - право на чтение данных файла
  • w (wright) - право на изменение содержимого (можно произвести только редактирование содержимого - запись, но удалять нельзя)
  • x (eXutive) - право на исполнение файла

Права доступа к папкам (директориям):

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

Значком дефиса «-» отмечают отсутствие каких-либо прав. Все эти права прописываются администратором, который получает эту возможность посредством ввода пароля. Если мы сможем установить максимально возможные ограничения на права доступа CHMOD к тем или иным файлам ресурса, то сможем практически исключить опасность реализации своего “черного дела” вирусным программам.

Для наглядности рассмотрим пример, когда владелец файла u имеет все возможные права: на чтение, запись и исполнение. Пользователи, отнесенные к категории g (group) - только на чтение и запись, все остальные (w) имеют только право на чтение. Тогда запись CHMOD будет выглядеть следующим образом: «rwx rw- r- -».

Права доступа к файлам и папкам в цифровом выражении: CHMOD (777, 755, 444)

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

  • r (чтение) - 4
  • w (запись) - 2
  • x (исполнение) - 1
  • - (нет прав) - 0

Теперь вновь разберем вышеприведенный пример для назначения прав доступа «rwx rw- r- -». Для отображения прав каждого пользователя применяется сложение его прав (r чтение + w запись + x исполнение). Таким образом часть записи для владельца файла u (user) - «rwx » превратится в 7 (4+2+1). Для члена группы g (group) - «rw-» в 6 (4+2+0) и для остальных пользователей o (world) - «r- -» в 4 (4+0+0). В качестве резюме представлю сводную таблицу со значениями прав доступа CHMOD, выраженными как в буквах, так и в цифрах:


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


Это основные комбинации, которые наиболее часто используются в работе вебмастера. Остальные формируются по аналогии. Если вы являетесь администратором сайта или блога, но работаете с проектом, не подсоединившись по FTP протоколу, вы также относитесь к группе “Остальные пользователи”. В таком случае при работе с сайтом в таком режиме нужно учитывать последнюю цифру в значении CHMOD.

Обычно на сервере, где находятся файлы вашего WordPress блога, на папки выставляются права доступа 755, а на файлы, которые входят в их состав, 644. Это справедливо, когда ресурс построен с использованием файлов HTML, однако в современных условиях для построения сайта массово используются CMS (системы управления контентом), к которым относится и WordPress. А здесь могут находиться объекты, в которые нужно производить записи от группы пользователей “world”. Могут находиться папки , в которые загружается контент, в том числе изображения.

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

777 - для папок, в которых постоянно происходит запись и стирание файлов (для папки кэширования)
755 - применительно к папкам, в которые постоянно записываются файлы, но не удаляются
666 - для файлов, в которые необходимо время от времени добавлять запись (например, файл.htaccess)
644 - для файлов, которые используются только для чтения (.php, .html и др.)

Как настроить права доступа CHMOD с помощью FTP менеджера FileZilla

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

Теперь подробнее о том, как проделать эту операцию с помощью . Для этого открываем программу и соединяемся посредством FTP к серверу хостера. В левой части «Удаленный сервер» сначала отмечаем файлы, атрибуты которых будут подвергнуты редактированию:

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

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

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