ACL позволяют администраторам Linux применять точную настройку разрешений, которую невозможно выполнить с помощью команд. В этой статье разберемся, как работать со списками ACL, для управления разрешений прав доступа на Kali Linux.
Еще по теме: Безопасность и защита Kali Linux
Использование ACL для изменения прав доступа Kali Linux
Списки управления доступом (Access Control Lists, ACL) — расширенный, более гибкий механизм прав доступа для файловых систем, разработанный как дополнение к стандартным правам доступа UNIX. ACL позволяет задавать права доступа к объектам на диске для пользователей и групп
Просмотр ACL
Во-первых, чтобы просмотреть ACL указанного файла, выполните команду:
1 |
getfacl {имя_файла} |
На следующем скрине показан пример файла с ACL и без него. Обратите внимание, что если у файла есть ACL, он добавляет новую строку с разрешениями указанного пользователя в ACL, в данном случае пользователя cesar и связанных с ним разрешений (rwx):
Можете также определить, есть ли у файла ACL, выполнив:
1 |
ls –l |
На предыдущем скрине показано, что файл bravo имеет знак + в конце разрешений, что указывает на то, что у файла есть ACL.
Управление ACL
Чтобы установить ACL для файла, можете использовать команду:
1 |
setfacl |
Синтаксис команды создания ACL для файла bravo с правами rwx пользователю cesar, выглядит так:
1 |
setfacl -m u:cesar:rwx bravo |
Можно создать ACL для групп, используя сокращения: g (группы) и u (пользователь). В следующем примере, мы создаем ACL для файла bravo, чтобы добавить разрешения на чтение и запись для группы менеджеров:
1 |
setfacl -m g:managers:rw bravo |
Теперь давайте рассмотрим другие варианты использования команды setfacl.
ACL каталогов по умолчанию
При создании списков ACL по умолчанию для каталогов все файлы, созданные в этом каталоге, также будут автоматически наследовать ACL по умолчанию.
Для этого воспользуемся той же командой setfacl, но с другими параметрами. В этом примере создадим ACL для папки bravito, чтобы предоставить пользователю cesar доступ на чтение:
1 |
setfacl -m default:u:cesar:r bravito |
На следующем скрине показано, как файл bravisimo наследует разрешения cesar из ACL по умолчанию, который мы только что создали для каталога bravito:
Теперь посмотрим, как можно использовать эту команду для удаления ACL.
Удаление ACL
Чтобы удалить определенный ACL, используйте ту же команду setfacl, но замените аргумент -m на –x:
1 |
setfacl -x u:cesar bravisimo |
ACL удален для пользователя cesar:
Однако вы можете заметить, все еще существует маска, поэтому ACL не был удален полностью.
Чтобы полностью удалить ACL из файла bravo, необходимо выполнить команду:
1 |
setfacl -b bravo |
Обратите внимание, после выполнения команды знак + был также удален в конце разрешений (см. результат ls -l):
Кроме того, маска больше не присутствует при проверке ACL с помощью команды getfacl.
Расширенный контроль доступа
Существуют дополнительные системы, предназначенные для улучшения контроля доступа за счет реализации политик безопасности. Одной из таких систем является хорошо известная SELinux.
Элементы управления доступом SELinux определяются набором политик, загруженных в ядро системы, которые обеспечивают улучшенный механизм безопасности, предотвращающий изменение разрешений пользователями или некорректно работающими приложениями.
Установка, конфигурация и настройки SELinux могут различаться в разных версиях Unix, поэтому в этом случае лучше проверить конкретные настройки для вашей системы, посетив официальный сайт.
Мы с вами разобрались, как использовать ACL для изменения прав доступа Kali Linux и защитить систему. В следующей статье мы будем улучшать безопасность Linux, используя брандмауэры. А пока, рекомендую прочитать статью «Основы работы в терминале Kali Linux».
ПОЛЕЗНЫЕ ССЫЛКИ: