Главная > Управление файлами и каталогами > getfacl

getfacl: Проверка списков контроля доступа к файлам (ACL)

Команда getfacl используется для проверки списков контроля доступа (ACL: Access Control List), настроенных для файлов и каталогов. Она позволяет более детально настраивать права доступа, чем традиционные права Unix (rwx), и полезна при управлении индивидуальными правами доступа для конкретных пользователей или групп.

Обзор

ACL — это функция, позволяющая детально контролировать права доступа к объектам файловой системы для пользователей, групп или других идентификаторов. getfacl считывает эти настройки ACL и отображает текущие правила доступа.

Основные возможности

  • Проверка детальных настроек прав доступа, выходящих за рамки традиционных прав rwx
  • Проверка индивидуальных прав для конкретных пользователей или групп
  • Предоставление функции проверки базовых (default) ACL каталогов
  • Рекурсивная проверка ACL для вложенных файлов и каталогов

Основные опции

Команда getfacl позволяет управлять форматом вывода или запрашивать только определенные типы ACL с помощью различных опций при просмотре информации ACL.

Запрос и вывод

Сгенерированная команда:

Комбинируйте команды.

Описание:

`getfacl` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

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

Проверка ACL конкретного файла

getfacl sample.txt

Проверяет текущие настройки ACL для файла sample.txt.

Проверка базового ACL каталога

getfacl -d my_directory

Проверяет базовые ACL, настроенные для каталога my_directory. Эти ACL применяются к файлам/каталогам, которые будут созданы в этом каталоге.

Рекурсивная проверка ACL каталога и его содержимого

getfacl -R data_dir

Рекурсивно проверяет ACL для каталога data_dir и всех вложенных в него файлов и подкаталогов.

Вывод только информации ACL без заголовка

getfacl --omit-header report.log

Кратко выводит информацию ACL для файла report.log без заголовка. Полезно при парсинге в скриптах.

Установка

Команда getfacl обычно поставляется как часть пакета 'acl'. Она предустановлена в большинстве дистрибутивов Linux, но в минимальных установочных средах может потребоваться ручная установка.

Debian/Ubuntu

sudo apt update && sudo apt install acl

Устанавливает пакет 'acl' с помощью менеджера пакетов apt.

RHEL/CentOS/Fedora

sudo dnf install acl
# или
sudo yum install acl

Устанавливает пакет 'acl' с помощью менеджера пакетов yum или dnf.

Советы и замечания

Советы и замечания по эффективному использованию и управлению ACL.

Проверка применения ACL

Если ACL применены к файлу или каталогу, при выполнении команды 'ls -l' в конце строки прав доступа будет добавлен символ '+'. (Например: -rw-rw-r--+)

  • Вывод ls -l: Проверка '+' в конце строки прав доступа

Взаимосвязь ACL и традиционных прав доступа

ACL работают совместно с традиционными правами rwx. При настройке ACL традиционные права могут выступать в роли 'маски', ограничивая максимальные эффективные права, установленные в ACL. Элемент 'mask' можно увидеть в выводе getfacl.

Взаимодействие с setfacl

Для установки или изменения ACL необходимо использовать команду 'setfacl'. Обычный рабочий процесс — проверить текущие настройки с помощью getfacl, а затем внести изменения с помощью setfacl.

Поддержка файловой системы

ACL поддерживаются не всеми файловыми системами. Большинство современных файловых систем Linux, таких как ext2/3/4, XFS, поддерживают ACL, но может потребоваться активация ACL в параметрах монтирования файловой системы (например, mount -o acl).


Те же команды в категории