[samba] ACLs gone wild :(

Michael Shigorin mike на osdn.org.ua
Пн Июн 26 13:00:51 MSD 2006


On Mon, Jun 26, 2006 at 10:03:51AM +0300, ruslan wrote:
> Встретил описаную Вами проблему в 
> http://lists.altlinux.org/pipermail/samba/2006-March/002895.html.
> Удалось-ли приручить неуправляемое появление в NT ACL 
> Domain\Администраторы, Domain\Все и Domain\Пользователи.

--Не-а.  Спросил коллег -- тоже "не-а".
++Как-то удалось.

Посмотрите также (повыдрано из разных логов):

http://www.google.com/search?q=cache:GArPk5QIPD0J:jdshelp.org/howtos/general/troubleshooting.html+samba+%22network+path+was+not+found%22+&hl=ru&ct=clnk&cd=12&client=mozilla
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages

Из того, что начинает смутно припоминаться -- Default ACL, 
или mask, или ещё что-то было странным.  К сожалению, сразу
то, что делалось, не было зафиксировано почтой/на wiki,
но проблема попалась на глаза при разглядывании в fsacls:

http://webmin-fsacls.sourceforge.net/
http://lists.altlinux.org/pipermail/sysadmins/2006-April/000881.html

Там какая-то средней неочевидности глупость была, если опять
найдёте -- будьте добры, черкните, заброшу куда, чтоб хоть
гуглилось.

А, во:

>> [xxxx]
>>       path = /home/shared/xxxx
>>       inherit acls = yes
>>       writable = yes
>>       read only = no
>>       create mode = 0777
>>       force create mode = 0777
>>       force directory mode = 0777
>> ммм... а ну
>> а!
<< нашел?
>> это таки самба
>> хотя в fsacls (и getfacl) там тоже светится 
>> user::rwx
>> mask::rwx
>> other::rwx
>> default:user::rwx
>> попробую-ка это прибрать
# здесь из-под совсем-файлопомойки был вытащен отдельный
# ресурс, содержащий приватные куски
[...]
>> готово, но теперь в лёгкой задумчивости
>> там была default group ACL -- "никаких прав"
>> дефолтная группа -- Dom Adm
<< хммм:)
>> выдал им r-x -- две левые группы послушались и ушли лесом
>> я уж думал -- что они, от /home/shared наследуются...
>> (так там наследуемых нет)
>> пойду проконсультируюсь, потому что куда пропала в таком разе
>> ACL для группы Dom Adm -- ещё как-то можно понять, но почему
>> не удалялась, а тут тоже ушла ACL для Dom Users -- мне сейчас
>> неясно
[...]
>> блин!!!
>> я тормоз
>> там же в ACL было очевидное -- "unix other: r-x"

Вот где-то так.

> Debian Sarge, Samba 3.0.14, WinXProSP2.

PS: можете попробовать подписаться на samba@ -- рассылка
не особенно ALT-specific.



--- для google: надо бы, чтобы с этим описанием оно цеплялось ---

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

Если знатоки подскажут, каким образом появляются дубли группы 
и "левые" правила -- премного благодарен.

_______________________________________________
Samba mailing list
Samba/lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/samba
---

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


Подробная информация о списке рассылки Samba