[samba] (winxp) ACLs gone wild
Michael Shigorin
mike на osdn.org.ua
Пн Мар 6 14:47:42 MSK 2006
On Mon, Feb 27, 2006 at 04:26:10PM +0300, Avramenko Andrew wrote:
> > > PS: ещё наблюдаются странности с изменением ACL с winxp, к
> > > сожалению, записей эксперимента под рукой нет, но
> > > припоминается -- будто какие маппинги съезжают. 2.6.14;
> > > ext3 acl,user_xattr; в smb.conf [global]:
> > > inherit acls = yes
> > > nt acl support = yes
> > > profile acls = yes
> > > Мож есть типичные грабли?
> > А всё-таки -- такого никто не припомнит?
> Если честно, ничего не понял.
Примерно так это выглядит (пересказ текста+скриншотов коллеги):
- берём пользователя winxp, который в Domain Admins
- лезем на ресурс in question
- создаём тестовый каталог ttt
- смотрим права, получается странность N1: 4 ACLки
+ Domain Users (DOM\Domain Users)
+ Администраторы (DOM\Администраторы)
+ Все
+ Пользователи (DOM\Пользователи)
при этом у всех не отмечено Разрешить-Запретить, кроме
Пользователи (DOM\Пользователи) => откуда юзеры в двух
экземплярах? Разные SID плюс гоблинский перевод?..
- выставляем полные права доменному пользователю someuser
и группе доменных администраторов, остальные идут лесом
- при попытке удалить ACL для Пользователи (DOM\Пользователи)
получаем ошибку:
Вы не можете удалить "Пользователи (DOM\Пользователи)",
поскольку этот объект наследует разрешения от своего предка.
Чтобы удалить "Пользователи (DOM\Пользователи)", необходимо
запретить наследование разрешений этим объектом. Отключите
параметр наследования разрешений и повторите попытку удаления
"Пользователи (DOM\Пользователи)".
- снимаем галочку "Наследовать разрешения". Устанавливаем
разрешения через особые (дополнительные параметры безопасности)
и получаем 3 ACL:
+ someuser (DOM\user) [полный доступ]
+ Администраторы (DOM\Администраторы) [полный доступ]
+ Все [отсутствует]
После нажатия Применить - самостоятельно появляются разрешения
Пользователи (DOM\Пользователи) и Создатель-Владелец
[Полный доступ]. Для появившейся группы Группа-Создатель -
[разрешения Отсутствуют]. Т.о. получаем:
+ someuser (DOM\user) [полный доступ]
+ Администраторы (DOM\Администраторы) [полный доступ]
+ Все [отсутствует]
+ ГРУППА-СОЗДАТЕЛЬ [отсутствует]
+ Пользователи (DOM\Пользователи) [полный доступ]
+ СОЗДАТЕЛЬ-ВЛАДЕЛЕЦ [полный доступ]
- при этом вывод getfacl ttt таков:
# file: ttt
# owner: root
# group: Domain\040Admins
user::rwx
user:someuser:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:someuser:rwx
default:group::---
default:mask::rwx
default:other::---
и локального пользователя, входящего в "Domain Admins" --
посмотреть каталог не пускают:
$ id | grep -q "Domain Admins" && ls ttt
ls: ttt: Permission denied
...бишь, учитывая "How ACLs Work" со странички
http://www.suse.de/~agruen/acl/linux-acls/online/
-- права группе выдаются действительно никакие
(group && mask == 000). В данном случае это несмертельно,
но странно и досадно.
Вот дословная конфигурация ресурса с очевидной заменой:
[ShareName]
path = /path/to/ShareName
inherit acls = yes
writable = yes
read only = no
create mode = 0777
force create mode = 0777
force directory mode = 0777
Если знатоки подскажут, каким образом появляются дубли группы
и "левые" правила -- премного благодарен.
--
---- WBR, Michael Shigorin <mike на altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
Подробная информация о списке рассылки Samba