TGViewer
DevOps Portal | Linux DevOps Portal | Linux @loose_code · 13.1K subscribers
Post #953 4.18K
Список контроля доступа (ACL) в Linux

Если вы работали с Linux, то, скорее всего, знакомы со стандартными правами доступа (чтение, запись и выполнение), которые можно назначать файлам и каталогам. Однако стандартная система прав в Linux позволяет назначать доступ только владельцу, группе владельца и всем остальным пользователям.

Но что, если вам нужно дать вашему коллеге Джону разрешение на чтение конкретного файла, не предоставляя такого же доступа всем остальным? В таких случаях пригодятся списки контроля доступа (ACL).

— Что такое ACL?
ACL предоставляет более детальный контроль над правами доступа к файлам и каталогам, позволяя устанавливать права для конкретных пользователей и групп, а не только для владельца, группы и остальных пользователей.

Например, с помощью ACL можно:

🔹Дать пользователю Джону доступ на чтение файла file.txt
🔹Дать группе маркетинг права на запись в каталог sales-data
🔹Отменить права на выполнение у пользователя Мари для файла script.sh

— Просмотр ACL для файлов
Чтобы проверить, установлен ли ACL для файла, используйте команду ls -l:

ls -l file1
-rw-rw-r--+ 1 user1 group1 0 Feb 17 2024 file1

Символ + в конце прав доступа указывает на то, что у файла установлен ACL.

Чтобы увидеть подробности ACL, используйте команду getfacl:

getfacl file1

# file: file1
# owner: user1
# group: group1
user::rw-
user:user2:r--
group::r--
mask::rw-
other::r--

Вывод getfacl показывает как стандартные, так и расширенные права доступа, установленные для файла.

— Назначение ACL для файлов
Чтобы предоставить пользователю user2 права на чтение файла file1:
```
setfacl -m u:user2:r-- file1``

Чтобы удалить права пользователя user2, назначенные через ACL:
setfacl -x u:user2 file1


Чтобы удалить все расширенные ACL (но сохранить стандартные права):
setfacl -b file1


— Установка ACL по умолчанию для каталогов

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

Чтобы установить ACL по умолчанию:
setfacl -d -m u:user3:rwx dir1


Все новые файлы, созданные в dir1, унаследуют права на чтение, запись и выполнение для user3.

Вот и все основные концепции и команды для работы с ACL в Linux ✌️

👉 DevOps Portal
  • 👍 27
  • ❤ 1
  • 🤔 1
More from @loose_code
  1. Oct 1, 2026Обработка миллионов файлов – это та точка, где большинство распределённых систем хранения…
  2. Oct 1, 2026Планы на 3 октября — прийти на RWB Infra x Security Meetup Мы направим прожекторы на инфра…
  3. Oct 1, 2026Docker 101: Как достучаться до контейнера без проброса порта Знали, что IP-адрес контейнер…
  4. Sep 30, 2026В этой статье разбирается, как спроектировать production-ready MCP-сервер для платформенны…
  5. Sep 30, 2026В этой статье объясняется, почему Ingress заменяют на Gateway API, за что на самом деле от…
  6. Sep 30, 2026Архитектура Argo CD: разбор К концу этого материала вы: Поймёте, как Argo CD реально работ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →