Файлы в Linux имеют двух владельцев. Как все это сделать

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

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

Атрибут 777 позволяет читать, запускать, переписывать и создавать файлы в директории всем перечисленным выше типам пользователей. Данный атрибут существует только для платформы Linux. Эта функция предоставляет полные возможности для взаимодействия с информацией. К сожалению, пока она далека от существующих представлений о безопасности.

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

В операционной системе Unix возможности доступа для групп записываются в одну строку, которая состоит из трех цифр. Каждая из этих строк указывает права одного из типов пользователей. Это значит, чточисленное сочетание является арифметической суммой: (1) (выполнение), 2 (запись), 4 (чтение). Численное сочетание описывает возможности, которые дает данная функция.

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

Выставить данный атрибут, зная расшифровку его числового обозначения, не составит особого труда. Чтобы сделать это, пользователю потребуется любой файловый менеджер, который поддерживает FTP соединение с сервером, на который можно зайти от имени администратора. Ответ на вопрос об установке прав доступа 777 на папку совершенно ничем не отличается от инструкции для файла. На сервере необходимо выделить желаемый объект и вызвать контекстное меню кликом правой кнопки мыши. После этого необходимо выбрать пункт «Файл», а затем «Изменить атрибуты». В открывшемся окне менеджера необходимо вбить комбинацию цифр и поставить напротив каждой из групп пользователей галочки. Также для серверной системы Unix предусмотрен более простой способ. Он требует только ввода команды в формате chmod 777 %filename% в панели управления хостера.

Многопользовательские сервера

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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