Зачем выставляются права 777 для директории linux

Что означает chmod 777

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

В этой статье объясняется базовая модель разрешений Linux и что означают числа, соответствующие разрешениям.

Понимание прав доступа к файлам в Linux

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

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

  • Владелец файла.
  • Члены группы.
  • Остальные (все остальные).

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

  • Разрешение на чтение.
    • Файл доступен для чтения. Например, если установлено разрешение на чтение, пользователь может открыть файл в текстовом редакторе.
    • Можно просмотреть содержимое каталога. Пользователь может вывести список файлов внутри каталога с помощью команды ls .
  • Разрешение на запись.
    • Файл можно изменить или модифицировать.
    • Содержимое каталога может быть изменено. Пользователь может создавать новые файлы , удалять существующие , перемещать файлы , переименовывать файлы и т. Д.
  • Разрешение на выполнение.
    • Файл можно запустить.
    • В каталог можно войти с помощью команды cd .

Права доступа к файлам можно просмотреть с помощью команды ls . Вот пример:

Первый символ показывает тип файла. Это может быть обычный файл ( — ), каталог ( d ), символическая ссылка ( l ) или любой другой специальный тип файла.

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

Номер разрешения

Разрешение файла может быть представлено в числовом или символьном формате. В этой статье мы сосредоточимся на числовом формате.

Номер разрешения может состоять из трех или четырех цифр от 0 до 7.

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

Разрешения на запись, чтение и выполнение имеют следующее числовое значение:

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

Цифра разрешений определенного класса пользователей — это сумма значений разрешений для этого класса.

Каждая цифра номера разрешений может быть суммой 4, 2, 1 и 0:

  • 0 (0 + 0 + 0) — Нет разрешения.
  • 1 (0 + 0 + 1) — только разрешение на выполнение.
  • 2 (0 + 2 + 0) — только разрешение на запись.
  • 3 (0 + 2 + 1) — права на запись и выполнение.
  • 4 (4 + 0 + 0) — разрешение только на чтение.
  • 5 (4 + 0 + 1) — разрешение на чтение и выполнение.
  • 6 (4 + 2 + 0) — права на чтение и запись.
  • 7 (4 + 2 + 1) — разрешение на чтение, запись и выполнение.

Например, если номер разрешения установлен на 750, это означает, что владелец файла имеет разрешения на чтение, запись и выполнение, группа файла имеет разрешения на чтение и выполнение, а другие пользователи не имеют разрешений:

  • Владелец: rwx = 4 + 2 + 1 = 7
  • Группа: rx = 4 + 0 + 1 = 5
  • Другое: rx = 0 + 0 + 0 = 0

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

  • setuid = 4
  • setgid = 2
  • липкий = 1
  • без изменений = 0

Следующие три цифры имеют то же значение, что и при использовании трехзначного номера. Если первая цифра равна 0, ее можно опустить, а режим можно представить тремя цифрами. Числовой режим 0755 совпадает с 755 .

Чтобы просмотреть права доступа к файлу в числовом (восьмеричном) представлении, используйте команду stat :

Никогда не используйте chmod 777

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

Например, если вы рекурсивно измените права доступа для всех файлов и подкаталогов в каталоге /var/www на 777 , любой пользователь в системе сможет создавать, удалять или изменять файлы в этом каталоге.

Если у вас возникают проблемы с разрешениями на вашем веб-сервере, вместо того, чтобы рекурсивно устанавливать разрешение на 777 , измените право собственности на файл на пользователя, запускающего приложение, и установите права доступа к файлу на 644 и права доступа к каталогу на 755 .

Владение файлом можно изменить с помощью команды chown а разрешения — с помощью команды chmod .

Допустим, у вас есть приложение PHP на вашем сервере, работающее от имени пользователя «linuxize». Чтобы установить правильные разрешения, вы должны запустить:

Только root, владелец файла или пользователь с привилегиями sudo могут изменять права доступа к файлу. Будьте особенно осторожны при использовании chmod , особенно при рекурсивном изменении разрешений.

Выводы

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

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

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

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

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

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

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

Читайте также:  Http shell windows com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Права доступа (chmod) вида 777

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Ошибка unexpected store exception windows 10 что это

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

Что такое chmod

Читаем Википедию
chmod (от англ. change mode) – программа для изменения прав доступа к файлам и директориям. Название происходит от программы ОС Unix chmod, которая, собственно, и изменяет права доступа к файлам и директориям. На русский лад 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.

Читайте также:  Валорант для mac os

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

Права доступа всегда выставляются «по нисходящей» от «Владельца» к «Члену группы владельца», и дальше – к группе «Всех остальных». Но, не наоборот!

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

Теперь, когда стало абсолютно ясно, что обозначают эти три заветные цифры – выставить права доступа (chmod) вида 777, не составит труда. Чтобы выставить права доступа (chmod) вида 777 для папки или файла, который находится на сервере, понадобится любой файловый менеджер, который способен установить и поддерживать FTP-соединение с сервером. Это может быть Total Commander, Windows Commander, CuteFTP, Filezilla или что-либо ещё. Лично я предпочитаю простой и бесплатный FTP-файловый менеджер Filezilla, несмотря на то, что являюсь горячим поклонником Total Commander-а.

Чтобы выставить права доступа (chmod) вида 777, заходим на сервер по FTP под правами Администратора!, через пару логин-пароль Администратора!. Дальше, находим и выделяем требуемый объект (папку или файл). После этого, вызываем правой кнопкой мыши контекстное меню «Файл — Изменить атрибуты». Дальше, указываем нужный атрибут (права доступа) и жмём «ОК». Чтобы «вбить» нужную комбинацию цифр потребуется, либо поставить-снять чекбоксы (галочки) возле нужных пунктов, либо ввести с клавиатуры нужный код вида 777 в открывшемся окне. Все FTP-файловые менеджеры поддерживают, и тот, и другой способ.

Окно изменения атрибутов (прав доступа) Total Commander-а

Окно изменения атрибутов (прав доступа) Filezilla

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

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

Сообщение для инопланетян:
Не нужно пытаться выставить права доступа (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. Применяется она в двух формах абсолютной — когда игнорируются старые права, а безусловно устанавливаются новые, и относительной — когда к имеющимся правам добавляются/убираются другие. Абсолютная форма предполагает задание прав доступа к файлу прямым заданием его в восьмеричной форме. Для того чтобы получить полный код необходимого режима файла, необходимо просто сложить значения кодов приведенных в таблице.

Источник

Оцените статью