LXF125:DrBrown2
|
|
|
Списки управления доступом
- ACL Только доктор решил, что одолел chmod, как нашелся ACL.
B девяностых годах прошлого века комитет POSIX по стандартизации (IEEE 1003.1e) работал над набором расширений безопасности для Unix. Когда финансирование прекратилось, от стандарта отказались, но во многом он уже был завершен, и кое-что из него перекочевало в Linux, например, списки управления доступом (ACL).
Стандартная модель доступа в Linux – тропа хоженая: у нас есть права на чтение, запись и выполнение, и установить их можно для владельца файла, членов группы владельца и всех остальных. И это все. Списки управления доступом расширяют эту модель, так что права на чтение, запись и выполнение можно задать для любого количества пользователей и групп.
Файловые системы ext2 и ext3 поддерживают ACL, но только в том случае, когда они смонтированы с опцией acl. Например:
sudo mount -o acl /dev/sda2 /home
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Конечно, более солидный под ход – добавить параметры монтирования в /etc/fstab, например, так:
/dev/sda2 /home ext3 acl 0 0
Если ACL активированы, управлять ими можно с помощью утилит командной строки setfacl и getfacl. На рисунке показаны синтаксис команды setfacl и способ представления ACL.
Давайте выполним несколько команд, чтобы посмотреть, как все это работает. Сначала создадим файл foo и установим права доступа к нему в 600:
touch foo chmod 600 foo ls -l foo -rw------- 1chris chris02009-08-1814:45foo
Обратите внимание, что в ACL файла автоматически добавятся три раздела, соответствующие обычным правам доступа (вывод команды так же содержит строки file, owner и group, которые мы на данном уроке не меняем).
getfacl foo user::rw- group::--- other::---
На самом деле эти разделы автоматически синхронизируются с обычными правами доступа – изменения, произведенные командой chmod, появятся в выводе getfacl, а изменения setfacl появятся в выводе ls -l.
Создадим еще два ACL, добавив доступ на чтение-запись для пользователя Tom и доступ на чтение для группы Games:
setfacl -m u:tom:rw foo setfacl -m g:games:r foo getfacl foo user::rw- user:tom:rw- group::--- group:games:r-- mask::rw- other::---
Дело немного усложнится, если задать маску ACL. Она используется для ограничения доступа явно поименованных в ACL пользователей и групп и не затрагивает права владельца файла. Здесь мы устанавливаем маску только для чтения и снова просматриваем ACL. Обратите внимание, что фактические права Тома были ограничены маской; теперь это только чтение, а не чтение и запись:
setfacl -m m::r foo getfacl foo user::rw- user:tom:rw- #effective:r-- group::--- group:games:r-- mask::r-- other::---
Наконец, можно удалить ACL таким образом:
setfacl -x g:games: foo getfacl foo user::rw- user:tom:rw- group::--- mask::rw- other::---
Команда ls не пытается отобразить полный список управления доступом для файла, но позволяет понять, что он задан (об этом говорит знак + после девяти бит прав доступа):
ls -l foo -rw-r-----+ 1 chris chris02009-08-1814:45foo
Задать список управления доступом для файла можно и по-другому. Во-первых, можно заставить setfacl прочитать ACL из файла или из стандартного ввода. Следующий пример показывает, как скопировать ACL с foo в bar:
getfacl foo1 | setfacl --set-file=- bar
Во-вторых, можно заставить вновь созданные файлы унаследовать ACL от содержащего их каталога. Чтобы сделать это, нужно назначить каталогу список управления доступом по умолчанию. Вот пример. Сначала создадим каталог acltest и назначим ему ACL по умолчанию (опция -d команды setfacl):
mkdir acltest setfacl -d -m u:tom:rw,g:games:r acltest
Если теперь создать новый файл в этом каталоге и просмотреть его ACL, мы увидим списки для Tom и Games, которые пришли от списка по умолчанию каталога acltest.
Исходя из моего опыта, ACL используются не слишком часто. Большинство пользователей не представляют себе всех возможных сценариев, которых можно достичь стандартными правами доступа, осторожно используя группы и, возможно, установкой битов setuid и setgid.