Непонятки с ACL

Все вопросы по установке, обновлению и эксплуатации FreeBSD: конфигурация и сопровождение.

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Непонятки с ACL

Непрочитанное сообщение kpp » 2010-03-22 12:34:11

Имеем: FreeBSD 7.2-RELEASE-p7

Решил разобраться с ACL (Списки контроля доступа).
Задача: на весь каталог /massiv/games (является точкой монтирования файловой системы ad14s2d UFS2) дать досуп на чтение и выполнение группе shara, группе install - полный доступ, в группу shara входит пользователь kpp1, пользователь kpp2 входит в обе эти группы.

Опция options UFS_ACL в ядре есть (не очень разобравшись добавил в ядро

Код: Выделить всё

           options UFS_EXTATTR
           options UFS_EXTATTR_AUTOSTART
- потом понял что лишнее, попутный вопрос может ли как-то негативно влиять на поведение ACL? )
В /etc/fstab добавил

Код: Выделить всё

/dev/ad14s2d<--><------>/massiv/games<->ufs<--->rw,acls<----><------>2<----->2
, перегрузился.
Кстати во всякий статьях(например в этой http://www.opennet.ru/base/sec/freebsd_acl.txt.html) рекомендуют ACL включать

Код: Выделить всё

/sbin/tunefs -a enable /massiv/games
Попутно вопрос, нужно ли выполнять эту команду, если файловая система была смонтирована с опцией acls ?
Итак, делаю :

Код: Выделить всё

; определяю маску:
# setfacl -m m::rx /massiv/games
; добавляю ACL по умолчанию( для всех каталогов и файлов в каталоге /massiv/games) для группы shara чтение-выполнение, для группы install - полный доступ
#setfacl -d -m u::,g::,o::,g:shara:rx,g:install:rwx /massiv/games
; добавляю ACL непосредственно на каталог /massiv/games для группы shara чтение-выполнение, для группы install - полный доступ
# setfacl -n -m g:shara:rx,g:install:rwx /massiv/games
; проверяем:
# ls -la /massiv
dr-xr-x---+ 10 root  wheel   512 21 мар 22:57 games
; (знак + означает включенную ACL)
# getfacl -d /massiv/games/
# file: /massiv/games/
# owner: root
# group: wheel
user::---
group::---
group:shara:r-x
group:install:rwx
mask::rwx
other::---

# getfacl /massiv/games/
# file: /massiv/games/
# owner: root
# group: wheel
user::r-x
group::rwx              # effective: r-x
group:shara:r-x
group:install:rwx               # effective: r-x
mask::r-x
other::---
Вродебы все по науке, однако при проверке (в консоле логинюсь как kpp2) пользователь kpp2, входящий в группу shara и install может только читать и выполнять, хотя по всем настройкам должен создавать\изменять - что не так?

Дальше, решил избавиться от ACL на каталоге /massiv/games - делаю:

Код: Выделить всё

; удаляю ACL по умолчанию
# setfacl -k /massiv/games 
; удаляю ACL на каталог
# setfacl -b /massiv/games
; проверяю :
# ls -la /massiv
dr-xrwx---+ 10 root  wheel   512 21 мар 22:57 games
; КАТАЛОГ ОСТАЛСЯ СО ЗНАКОМ + !?

# getfacl -d /massiv/games
# file: /massiv/games
# owner: root
# group: wheel

# getfacl /massiv/games
# file: /massiv/games
# owner: root
# group: wheel
user::r-x
group::rwx
mask::rwx
other::---
Отмонтировал /massiv/games, примонтировал

Код: Выделить всё

 
; проверяю :
# ls -la /massiv
dr-xrwx---+ 10 root  wheel   512 21 мар 22:57 games
; КАТАЛОГ ОСТАЛСЯ СО ЗНАКОМ + !?
Что я делаю не так, либо я чего-то не понимаю в самом механизме ACL, либо фиг его знает...
Просветите :pardon:
Заранее спасибо.
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Непонятки с ACL

Непрочитанное сообщение kpp » 2010-03-22 15:23:23

С двумя моментами вродебы прояснилось.
1.Маску нужно указывать максимально возможный доступ к каталогу.
Т.е. в моем случае

Код: Выделить всё

setfacl -m m::rwx /massiv/games
2.Применение

Код: Выделить всё

/sbin/tunefs -a enable /massiv/games
равносильно примонтированию файловой системы с опцией acls .
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Непонятки с ACL

Непрочитанное сообщение kpp » 2010-03-23 12:54:57

Итак:

Код: Выделить всё

/sbin/tunefs -a enable /dev/ad14s2
нужно делать в первую очередь на отмонтированной /dev/ad14s2.
В /etc/fstab изменяем:

Код: Выделить всё

/dev/ad14s2d<--><------>/massiv/games<->ufs<--->rw,acls<----><------>2<----->2
Монтируем

Код: Выделить всё

mount /massiv/games
Маску нужно указывать максимально возможный доступ к каталогу.
Т.е. в моем случае

Код: Выделить всё

setfacl -m m::rwx /massiv/games
тут есть особенность: при установке маски уровень доступа группы изменяется тоже на эту маску.
Для отключения ACL:
Отмонтируем

Код: Выделить всё

umount /massiv/games

Код: Выделить всё

/sbin/tunefs -a disable /dev/ad14s2
отключаем ACL на /dev/ad14s2.
В /etc/fstab изменяем:

Код: Выделить всё

/dev/ad14s2d<--><------>/massiv/games<->ufs<--->rw<----><------>2<----->2
Монтируем

Код: Выделить всё

mount /massiv/games
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.