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