Из-за способа, которым Samba обрабатывает символические ссылки и широкие ссылки (он может различать только "в корне общего ресурса" или "вне корня общего ресурса"), я хочу создать фиксированные символические ссылки в корне общего ресурса для "фактических" директорий, а затем предотвратить "фактические" каталоги показываются непосредственно пользователю, когда они просматривают сетевой ресурс, как показано.
Это возможно?
АКТУАЛЬНАЯ СТРУКТУРА (файловый сервер FreeBSD):
share_root
--- data1
--- data3
--- data4
--- data5
--- data6
--- data2
--- data7
--- data8
--- data9
--- d4 (=symlink to data4)
--- d6 (=symlink to data6)
--- d9 (=symlink to data9)
Что видит пользователь (клиент Windows):
share_root
--- d4 (and all data4's subdirs)
--- d6 (and all data6's subdirs)
--- d9 (and all data9's subdirs)
(note: actual access to any dir is controlled by ACLs on data1/data2
and their subdirs, so this just cleans up the tree seen by a user
when they browse the share; it doesn't create any security)
По сути, "настоящие" dirs data1/data2 содержат набор dirs, к которым пользователь может / не может получить доступ, и этот доступ обеспечивается ACL.
Но когда пользователь получает доступ к общему ресурсу, я хочу, чтобы они вообще не видели эти каталоги.
"Нормальные" скрытые файлы будут отображаться в проводнике Windows, поэтому я не могу использовать "скрытые файлы" или точечные файлы для этого. Я мог бы использовать другие методы, такие как файлы вето, перечисление с контролем доступа, чтение / обход ACL и так далее, если они помогают. Однако я хочу только предотвратить показ данных data1 / data2 непосредственно пользователю - я не хочу прерывать обход через символические ссылки d4 / d6 / d9 к подкаталогам data1 / data2.
Возможно ли это с помощью комбинации перечисления с контролем доступа, smb.conf и ACL? Если нет, то что бы приблизило меня к решению?