Перейти к содержанию

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

Как посмотреть

ls -lah file_name
-rw-r--r-- 1 user users_group  261 Oct  8 09:15 file_name
|[-][-][-]-   [------] [---]
| |  |  | |      |       |
| |  |  | |      |       +-----------> 7. Group
| |  |  | |      +-------------------> 6. Owner
| |  |  | +--------------------------> 5. Alternate Access Method
| |  |  +----------------------------> 4. Others Permissions
| |  +-------------------------------> 3. Group Permissions
| +----------------------------------> 2. Owner Permissions
+------------------------------------> 1. File Type

Типы привилегий

В Linux права доступа к файлам и каталогам задаются с помощью трех типов привилегий:

  1. чтение — r;
  2. запись — w;
  3. выполнение — x.

Категории пользователей

Эти привилегии могут быть установлены для трех категорий пользователей:

  1. владельца файла — u;
  2. группы — g;
  3. остальных пользователей — o.

Коды прав доступа

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

Код Описание
000 Нет прав
001 Выполнение для остальных
002 Запись для остальных
003 Запись и выполнение для остальных
004 Чтение для остальных
005 Чтение и выполнение для остальных
006 Чтение и запись для остальных
007 Чтение, запись и выполнение для остальных
010 Выполнение для группы
020 Запись для группы
030 Запись и выполнение для группы
040 Чтение для группы
050 Чтение и выполнение для группы
060 Чтение и запись для группы
070 Чтение, запись и выполнение для группы
100 Выполнение для владельца
200 Запись для владельца
300 Запись и выполнение для владельца
400 Чтение для владельца
500 Чтение и выполнение для владельца
600 Чтение и запись для владельца
700 Чтение, запись и выполнение для владельца

Таким образом, комбинации этих прав позволяют задавать различные уровни доступа. Например:

Код Описание
0755 Владелец может читать, записывать и выполнять; группа и остальные могут читать и выполнять.
0700 Владелец может читать, записывать и выполнять; группа и остальные не имеют прав.
0644 Владелец может читать и записывать; группа и остальные могут только читать.

Ресурсы

  1. Debian Manpages:
    1. man chmod — для изменения прав доступа.
    2. man chown — для изменения владельца файлов.
    3. man umask — для настройки маски прав доступа.
  2. Статьи:
    1. Linuxize: Understanding Linux File Permissions.
    2. DigitalOcean: An Introduction to Linux Permissions.

Что дальше?

  1. Нашли эту статью полезной? Поделитесь ею и помогите распространить знания!
  2. Нашли ошибку или есть идеи 💡 о том, что и как я могу улучшить? Напишите мне в Telegram.
  3. Хотите узнать обо мне больше? Читайте здесь.