У меня есть группа пользователей Windows Server 2003, которым необходимо иметь возможность читать содержимое двух каталогов, но не иметь доступа к чему-либо еще на сервере (включая доступ только для чтения). Один из каталогов K:\projectFour\config
- а другой отформатирован аналогично - поэтому было бы нормально, если бы члены группы могли перечислить содержимое K:\
и K:\projectFour\
но на самом деле ничего не читал в этих каталогах.
Я нашел несколько ресурсов через SF / Google, в том числе о том, как ограничить отдельные папки / диски и как разрешить пользователям запускать только определенные исполняемые файлы, но эта информация в конечном итоге не решила мою проблему. Извините, если это действительно простая вещь, я обычно разработчик и ничего не знаю о серверах или групповых политиках. Наконец, я должен упомянуть, что это не совсем конкретный вопрос, поскольку он будет реализован в конечном итоге, но у меня лично нет копии Windows Server 2003 для тестирования прямо сейчас.
NTFS немного странна (для некоторых) тем, что один и тот же бит доступа делает разные вещи при установке в каталогах, чем при установке в файлах. Если у вас есть такая структура на Server 2003:
\\devsrv\projshare\projectFour\Config
Чтобы пользователи могли просматривать содержимое каталога «config», но не могли просматривать содержимое (только метаданные) каталогов «\» и «projectFour», необходимо сделать несколько вещей. Я предполагаю, что у пользователей нет других прав, которые предоставили бы им видимость / доступ к верхней части этого общего ресурса.
Эта настройка прав, хотя и сложная, позволит пользователям получить доступ к каталогу Config с локальным сопоставлением дисков с корнем общего ресурса. Они смогут войти в каталог projectFour и просмотреть информацию о его списке каталогов, но не другие данные.
Если он у вас есть, icacls упрощает это:
(on server)
icacls k:\ /grant [usergroup]:(r)
(on client, if on server replace "\\devsrv\projshare" with "k:")
icacls \\devsrv\projshare\projectFour /grant [usergroup]:(r)
icacls \\devsrv\projshare\projectFour /grant [usergroup]:(oi)(ci)(rx)
(oi) означает «наследование объекта», что означает «применять к файлам».
(ci) означает «наследование контейнера», что означает «применять к каталогам».
(r) означает «Чтение», при установке непосредственно в каталогах означает «разрешить пользователям читать метаданные этого каталога».
(rx) означает «Прочитать и выполнить». Как (r), но позволяет пользователям выполнять программы в этой структуре.
При использовании вместе с перечислением на основе доступа (доступно, IIRC, на Server 2003 R2 и выше) пользователи будут видеть только каталоги и файлы, к которым у них есть доступ. В приведенном выше случае пользователи увидят «projectFour» только в корне общего ресурса, даже если в корне есть еще тридцать каталогов.
Если я понимаю, что вы хотите сделать, лучше всего будет создать группу для пользователей, которых вы хотите ограничить, и предоставить этой группе только «Содержимое папки списка» для папок, в которых они должны видеть файлы. но не читайте их.
Затем вам также необходимо удалить пользователей с ограниченным доступом из любых групп, которые могут предоставить им регулярный доступ к этой папке. Одна вещь, на которую следует обратить внимание, я обычно нахожу на многих файловых серверах группе «Пользователи домена» предоставляется доступ к папкам, к которым каждый должен иметь доступ, только чтобы позже столкнуться с ситуацией, подобной вашей.