Я нахожусь на FreeBSD и столкнулся со странной проблемой, которая меня удивляет.
Я создал общий ресурс, и внутри этого общего ресурса был создан подкаталог с именем subdir
.
Когда я открываю smbclient с текущим каталогом = share root, subdir
не отображается в списке каталогов. Но когда я предоставляю everyone@:full_set:allow
ACE (и ничего больше) для subdir
через SSH в другом окне, сеанс smbclient теперь может видеть каталог в списке "ls".
На самом деле даже everyone@:a:allow
ACE (и ничего больше), установленный на вложенном каталоге , достаточен для того, чтобы подчиненный каталог был указан в родительском каталоге. (Спасибо за отзыв @grawity)
Мне известно, что samba может скрывать файлы от клиента, если ACL не разрешает права на чтение для его родительского каталога, или если установлен файл вето / каталог, или скрытые скрытые файлы, или если он явно скрыт по имени в каким-то другим способом, но они не используются - я просто создал каталог и общий ресурс, и я не создал никаких ссылок или свойств, связанных с его скрытием.
В противном случае, насколько мне известно, возможность видеть файл в каталоге строго определяется атрибутом "r" родительского каталога ... не так ли?
То , что я получаю: добавить ACE на ребенке -> ребенок виден в списке каталога родителя. Удаление ACE от ребенка -> не отображается в каталоге родителей листинга.
Я что-то здесь упускаю или что происходит? Почему, кажется, нужен набор ACE для child
чтобы увидеть его в ls <parent>
? Почему значение ACE ребенка должно иметь значение?