Расширяем права доступа в Linux с помощью ACL
Сергей Яремчук
Одноуровневой модели прав доступа пользователей, которая применяется в Linux
и во всех UNIX-подобных операционных системах, на сегодняшний день
явно недостаточно. Вам придётся очень постараться, чтобы правильно
распределить права доступа к объекту. Списки контроля доступа позволяют
более гибко решить эту задачу.
Девять бит плюс три специальных бита позволяют определить права доступа к
файлу (чтение, запись, исполнение) только для трех класов пользователей –
владелец, группа и остальные. Такой механизм в большинстве случаев не
пригоден для решения даже относительно простых задач. Чтобы определить доступ к
какому-нибудь документу или ресурсу, пользователя обычно включают в
определенную группу. Все, кто входит в эту группу, имеют одинаковые права, т.е.
используется принцип «всё или ничего». Списки контроля доступа ACL (Access Control
Lists) позволяют установить права доступа к файлам не только для владельца и
группы, но и индивидуально для любого другого пользователя
или группы, без каких-либо ограничений по количеству устанавливаемых
пользователей/групп.
Кроме того, технология ACL может использоваться,
например, для доступа к SUID-файлам, определяя пользователей, которым
действительно необходим запуск таких файлов. Операционные системы Windows на
ядре NT и Novell Netware изначально поддерживают более гибкий механизм
доступа к файлу. В мир Linux эта технология пришла относительно недавно (в ядре
поддержка ACL появилась с версии 2.5, хотя патчи были доступны еще с
версий 2.2.12), и сейчас она реализована для основных файловых систем
ext2, ext3, XFS, ReiserFS, JFS и NFS. В настоящее время известны две
разработки, реализующие списки контроля доступа для Linux, о которых сегодня и
поговорим.
|