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

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

19.Июн.2012

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

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

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

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

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

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

Право на чтение даёт пользователю возможность читать содержимое файла или, если такой доступ разрешён к папке. просматривать её содержимое.

Право на запись даёт пользователю возможность записывать или изменять файл, а право на запись для папки — возможность создавать новые файлы или удалять файлы из этой папки .

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

Для папок право на исполнение имеет особый смысл — оно позволяет сделать данную папку текущей, т. е. “перейти” в неё, например, командой "cd".

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

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

Информация о правах доступа к файлу

Чтобы получить информацию о правах доступа к файлам и папкам в консоли. используйте команду "ls" с ключом "-l". При этом будет выведена подробная информация о файлах и папках. в которой

будут, среди прочего, отражены права доступа. Рассмотрим следующий пример:

# ls -l filename

-rw-r--r-- 1 user users 505 Mar 13 19:05 filename

  • Первое поле в этой строке (-rw-r--r-- ) отражает права доступа к файлу .
  • Третье поле указывает на владельца файла (user).
  • Четвёртое поле указывает на группу. которая владеет этим файлом (users).
  • Последнее поле — это имя файла .

Другие поля описаны в документации к программе ls (ls --help ).

Последовательность "-rw-r--r--" условно разбивается на четыре секции (-/rw-/r--/r-- ): один первый символ и каждые три последующих, отражающих права доступа для владельца файла. членов группы пользователей владельцев файла. а также для всех остальных пользователей. соответственно. Символ "r" — сокращение от "read" (англ. "читать"), а "w" — сокращение от "write" (англ. "писать").

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

Первый символ из последовательности "-" обозначает тип файла. Символ "-" означает, что это - обычный файл. который не является папкой (в этом случае первым символом было бы "d") или псевдо-файлом устройства (было бы "c" или "b").

После символа "w" мог бы стоять символ "x", означающий наличие прав на исполнение (англ. "execute", "исполнять") файла. Однако символ "-", стоящий здесь вместо "x", указывает, что user не имеет права на исполнение этого файла. Это разумно, если файл не является программой. В то же время, пользователь. зарегистрировавшийся в системе как user, при желании может предоставить себе право на исполнение данного файла. поскольку является его владельцем.

Изменение прав доступа

Ниже перечислены важнейшие команды для решения задач, связанных с изменением прав доступа к файлам и папкам .

  • chmod - изменение прав доступа к файлу или папке
  • chown - изменение владельца файла
  • chgroup - изменение группы. которой принадлежит файл

Команда "chmod 664 filname " сделает файл "filename" доступным для записи и тем, кто состоит в группе users. Каждая из цифр кода "664" - одна из последних трёх секций последовательности "-rw-rw-r--" (см. выше ), но в цифровом виде. Цифры кода получаются методом сложения чисел, условно обозначающих одно из прав доступа. чтение (4), запись (2) и выполнение (1).

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

Команда "chown user1 filename " сменит пользователя -владельца файла на user1, а "chown user1:others filename" сменит так же группу пользователей -владельцев файла на others. Для смены группы отдельно можно использовать команду вида "chgroup others filename "

Для получения более подробной информации об этих командах обращайтесь к их руководствам (например, chmod --help).

Источник: www.desktoplinux.ru

Категория: Программное обеспечение

Похожие статьи: