- •1 Основные команды Linux.
- •2 Программы-фильтры и их использование.
- •3 Управление пользователями: добавление, удаление, смена пароля, изменение параметров.
- •4 Управление группами: создание, удаление, список членов группы, добавление и удаление пользователей.
- •5 Организация хранения парольной информации в Linux. Системные аутентификационные файлы и их формат.
- •6 Средства удаленного управления Linux. Вопросы обеспечения безопасности при удаленном управлении.
- •7 Права доступа к файлам и каталогам: традиционные права доступа, управление доступом. Права доступа к файлам и каталогам
- •8 Права доступа к файлам и каталогам: acl, управление доступом. Использование posix acl
- •9 Работа с разделами диска. Создание файловых систем на разделах. Создание раздела
- •Создание файловой системы
- •10 Монтирование устройств, файлов, каталогов.
- •11 Включение/выключение маршрутизации в Linux.
- •12 Настройка сетевого интерфейса. Управление статическими маршрутами.
- •13 Настройка межсетевого экрана. Создание разрешающих и запрещающих правил. Создание правил
- •Цепочки
- •-M state
8 Права доступа к файлам и каталогам: acl, управление доступом. Использование posix acl
ACL (список контроля доступа) — определяет, кто или что может получать доступ к конкретному объекту, и какие именно операции разрешено или запрещено этому субъекту проводить над объектом.
ACL поддерживается файловыми системами Ext2, Ext3, IBM JFS, ReiserFS, SGI XFS.
Таблица. Компоненты ACL
Entry type |
Text form |
Owner |
user::rwx |
Named user |
user:name:rwx |
Owning group |
group::rwx |
Named group |
group:name:rwx |
Mask |
mask::rwx |
Others |
other::rwx |
Включение работы с ACL
Для работы с ACL ядро системы должно быть скомпилировано с их поддержкой (в большинстве дистрибутивов по умолчанию). А также при монтировании файловой систетемы должен быть указан параметр acl
mount /dev/sdb1 /mnt -o acl
или для автоматического монтирования это параметр должен быть указан в файле /etc/fstab
/dev/vg0/lv0 /home ext3 defaults,usrquota,acl 0 2
Для работы с ACL используются утилиты getfacl и setfacl
При помощи программы getfacl можно посмотреть список текущих ACL.
getfacl [параметры] файлы
Для установки и удаления ACL используется программа setfacl.
setfacl [параметры] [{-m|-x} ACL] файлы
setfacl [параметры] [{-M|-X} файл] файлы
Для добавления и изменения ACL используется параметр –m.
После –m записывается ACL. Формат записи достаточно простой. Если первый символ u, то добавляются права для указанного после двоеточия пользователя. Если первый символ g — определяются права для группы. Если m — определяется маска. Сами права записываются в символьном виде.
В списке ACL присутствует слово mask. Это не пользователь, а специальная возможность, ограничивающая права доступа. Маска является фильтром, определяющим максимально возможные права доступа. После введения макси напротив пользователей и групп появилось поле, указывающее реальные права доступа. На права владельца, группы и «всех остальных» маска не влияет. Маска влияет только на дополнительных пользователей и дополнительные группы. Для того, чтобы маска заработала, ее необходимо определить явно при помощи setfacl. Иначе она будет «плавающей» и не будет выполнять свои функции. Маску всегда определяют самой последней, после указания прав доступа всех пользователей и групп, иначе она вновь станет «плавающей» (не влияет на установленные права).
Если у файла установлены ACL, определение прав доступа происходит в том порядке, в котором они выводятся программой getfacl.
Программа setfacl предоставляет возможность скопировать ACL одного файла на другой файл. Для этих целей служит параметр --set-file. Например, необходимо скопировать списки доступа файла test в файл newtest. Тогда командная строка будет выглядеть следующим образом:
$ getfacl test | setfacl --set-file=- newtest
Удаление элементов из списка ACL происходит при помощи параметра –x.
$ setfacl -x u:user1 test
Рассмотрим возможные форматы записи ACL.
[d[efault]:][u[ser]:][пользователь][:[+|^]права]
[d[efault]:] g[roup]:[группа][:[+|^]права]
[d[efault]:] m[ask][:[+|^]права]
[d[efault]:] o[ther][:[+|^]права]
default — устанавливает ACL по умолчанию. Имеет смысл только для директории. Если создавать файлы в директории, у которой установлен ACL по умолчанию, то значения ACL копируются во вновь создаваемые файлы.
Если при написании ACL права доступа начинаются с символа +, то эти права добавляются к уже существующим. Если в начале описания прав стоит символ ^, то их значение отнимаются от существующих прав доступа.
У программы setfacl есть еще две интересные опции: –M и –X. Первая изменяет или добавляет ACL, вторая удаляет ACL. В отличии от –m и –x, список ACL передается не в командной строке, а в отдельном файле. Формат файла соответствует выводу программы getfacl.
$ getfacl newtest > aclfile
Теперь установим ACL, записанные в файле aclfile, на файл test.
$ setfacl -M aclfile test
