Windows Fileserver Разрешить пользователям управлять разрешениями для папок, которые они создают

У меня есть Windows 2008 R2 Fileserver, обслуживающий клиентов Win и Mac (SMB). У меня есть 5 папок: Happy Sad Lonely Stinky и Grumpy. Все папки должны быть общедоступными для пользователей домена, кроме Happy и Sad, которые должны быть ограничены группами безопасности Happy и Sad (Active Directory). Я хочу, чтобы все, у кого есть доступ, могли создавать папки и файлы, но не могли удалять корневые ресурсы. Они должны иметь возможность удалять файлы и папки в общих папках. Кроме того, я хочу, чтобы владелец-создатель файлов и папок мог изменять разрешения, чтобы они могли ограничить созданную ими папку отдельным лицом или группой. Наследование разрешений, кажется, усложняет эту задачу. Пожалуйста помогите.

1 ответ

То, что вы ищете, вполне возможно, но юзабилити довольно сложная задача. Все это может быть сделано через вызовы командной строки (в Windows вашим пользователям Mac не повезет), с различной сложностью, но графический интерфейс полностью находится в области "Advanced".

Дайте создателю-владельцу возможность делать что угодно с созданными файлами и каталогами, но не делать ничего с каталогом верхнего уровня:

icacls grumpy /grant *S-1-5-11:(Rx)             # Authenticated Users: RO top
icacls grumpy /grant *S-1-5-11:(io)(M)          # Grant Auth users Modify to subs
icacls grumpy /grant *S-1-3-0:(io)(oi)(ci)(f)   # Creator-Owner for new objs

Это создаст каталог Grumpy, где аутентифицированные пользователи не смогут удалить Grumpy, но смогут делать практически все, что ниже, и НИЧЕГО для всего, что они на самом деле создают.

Версии с ограниченной группой очень похожи:

icacls happy /grant happy-people:(Rx)
icacls happy /grant happy-people:(io)(M)
icacls happy /grant *S-1-3-0:(io)(oi)(ci)(f)

Право (F) дает пользователям возможность делать что угодно, в том числе изменять списки доступа.

Что касается остальной части вашего запроса, то здесь вступают в игру дурацкие пользовательские факторы. Как я уже сказал, это можно сделать, но обучение ваших пользователей тому, как это делать, будет постоянной проблемой (и пользователям Mac не повезет).

Пользователь решил заблокировать определенную папку, которую он создал, только нужным людям:

icacls grumpy\Newsbits /inheritance:d
icacls grumpy\Newsbits /remove *S-1-5-11
icacls grumpy\Newsbits /grant grumpy-news:(oi)(ci)(M)

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

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

icacls happy\mystuff\Newsbits /inheritance:d
icacls happy\mystuff\Newsbits /remove happy-people
icacls happy\mystuff\Newsbits /grant happy-news:(oi)(ci)(M)

Тот же рабочий процесс, но у ваших пользователей есть проблема: они не могут начать с "счастливого" и переходить вниз. Они должны получить доступ к happy\mystuff\Newsbits каталог напрямую. Как это происходит, вы можете заставить его работать, но это включает в себя изменение ACL на mystuff каталог для разрешения прохождения.

icacls happy\mystuff /grant happy-news:(rd)

Все это можно сделать с помощью графического интерфейса Windows, но icacls значительно упрощает документирование.

Как я уже сказал, можно сделать. Но не то, что вы бы назвали полезным.

Другие вопросы по тегам