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

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

Существует три категории пользователей:
пользователь, являющийся владельцем файла — User;
пользователи, принадлежащие к группе, в которой состоит владелец файла (User) — Group;
все остальные — Other.

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

В свою очередь, каждая категория пользователей имеет три типа доступа к файлу:
возможность просматривать содержимое файла — Read — чтение;
возможность сохранять внесённые в файл изменения — Write — запись;
возможность запускать файл как программу — Execute — выполнение.

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

Как права доступа представлены в системе

Есть два способа представить права доступа:
с помощью символов:
  • r — чтение (Read);
  • w — запись (Write);
  • x — выполнение (eXecute);
с помощью восьмеричных чисел.

Например, когда вы просматриваете содержимое папки через терминал, используя команду ls (сокращение от «list») с флагом -l (сокращение от «long»):

ls -l

вы увидите (помимо прочей информации) информацию о правах доступа к каждому файлу. Она будет представлена с помощью символов; примерно вот так:

-rwxr-xr--

Здесь десять символов.

Первый символ — минус (-), указывает на то, что это «обычный» файл; другими словами, что это не папка (или устройство, или любой другой специальный вид файла).

В Linux всё представлено файлами: папка — это специальный файл; устройство (например, флешка) — это также специальный файл; и так далее.

Остальные девять символов — это права доступа: rwxr-xr--. Эти девять символов есть не что иное как три группы по три символа каждая.

Эти группы указывают на определённые права доступа для определённой категории пользователей (слева направо):
первые 3 символа — rwx — права доступа для владельца файла;
следующие 3 символа — r-x — права доступа для пользователей, которые принадлежат к группе, в которой состоит владелец файла;
последние 3 символа — r-- — права доступа для всех остальных пользователей.
# Группа символов Значение
1 rwx Владелец файла имеет права на чтение (Read), запись (Write) и выполнение (eXecute)
2 r-x Пользователи, которые принадлежат к группе, в которой состоит владелец файла, имеют права на чтение (Read) и выполнение (eXecute), но на запись у них прав нет (-)
3 r-- Все остальные могут только читать файл (Read)

Всего хорошего ...