В Linux подобных операционных системах для каждого каталога и файла можно задать права доступа. Если быть точнее, то права доступа автоматически задаются при создании файлов/каталогов, а Вы можете их изменять. Для чего это нужно? Например, Вам нужно, чтобы к Вашему файлу имели доступ только сотрудники отдела, в котором Вы работаете, другими словами только пользователи Вашей группы. Или Вы создали обычный текстовый файл, содержащий инструкции командного интерпретатора. Чтобы этот файл стал сценарием, ему нужно дать права на выполнение.

Основные права доступа

Существуют три вида прав доступа:

  1. чтение (read);
  2. запись (write);
  3. выполнение (execute).

Для каталога право на выполнение означает право на просмотр содержимого этого каталога.

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

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

Для того, чтобы просмотреть текущие права доступа, введите команду:

ls -l

В этом листинге видно, что данная команда вывела список всех файлов и каталогов в данной директории, где самый первый столбец это столбец с правами доступа к файлам/каталогам вида drwxrwxrwx.

Разберем поподробнее, что значит каждый символ в описании прав на примере каталога /Android:

drwxr-xr-x 3 lexone lexone 4096 сен 15 2018 Android

  • Первый символ — тип файла. d — директория, дефис — это файл, l — ссылка, могут быть и другие типы, но о них поговорим в отдельной статье;
  • Последующие три символа (rwx) определяют права доступа владельца файла или каталога. Первый — чтения, второй — запись, третий — выполнение. Как можно увидеть, в данном случае владельцу разрешено всё;
  • Следующие три символа (r-x) задают права доступа для членов группы владельца. Можно отобразить содержимое, x для каталога означает разрешение на обход каталога. Это позволяет группе получить доступ к файлам и папкам в каталоге. «Выполнение» каталога разрешает вам двигать по иерархии, даже если вы не знаете что внутри.
  • Последние три символа (r-x) задают права доступа для прочих пользователей. Они имеют аналогичные с предыдущей группой права.

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

Права доступа задаются командой chmod. Существуют два способа указания прав доступа:

  1. Символьный — когда указываются символы, задающие право доступа r,w,x;
  2. Абсолютный — в виде трех чисел, например 666.

В мире UNIX чаще всего используют абсолютный способ указания прав доступа. Рассмотрим его подробнее.

Для примера используем права rw-r——

Данный набор прав разрешает владельцу чтение и модификацию файла (rw-), запускать файл владелец не может. Члены группы владельца могут только просматривать файл (r—), а все остальные пользователи не имеют вообще никакого доступа к файлу.

Возьмем отдельный набор прав для владельца: rw-

Чтение разрешено — записываем 1, т.к. в информатике единица означает истину, запись разрешена — ставим еще одну 1, а вот выполнение запрещено, поэтому тут будет 0. На выходе имеем число 110 в двоичной системе исчислений. Если перевести число 110 в восьмеричную систему, получится число 6.

Двоичная системаВосьмеричная система
000 0
001 1
010 2
011 3
100 4
101 5
110 6
1117

Аналогично произведем разбор прав для членов группы владельца. Получится двоичное 100, т.е. восьмеричное 4. С третьим набором (—) все вообще просто — 000, т.е. 0.

Записываем полученные числа в восьмеричной системе в порядке «владелец-группа-остальные». Получается число 640 — это и есть права доступа. Для того, чтобы установить данные права доступа, выполним команду:

chmod 640 <имя_файла>

Наиболее популярные права доступа

  • 644 — владельцу можно читать и изменять файл, остальным только читать;
  • 666 — читать и изменять файл можно всем пользователям;
  • 777 — всем можно читать, изменять и выполнять файл.

Примечание, для каталога право выполнения — это право просмотра оглавления каталога.

Иногда символьный метод оказывается проще. Например, у нас есть файл script, который нужно сделать исполнимым, для этого можно применить команду:

chmod +x script_name

Для того чтобы снять право выполнения, указывается параметр -x:

chmod -x script_name

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

$ man chmod

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Поделиться записью:

Комментарии:

Вы можете оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Используйте данные HTML тэги и атрибуты:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: