Техноблог IT Hobbycomp.ru – сайт о компьютерах и технике

Немного о share и NTFS permissions

Хочу немного рассказать, как грамотно настроить разрешения на файловом сервере.

Права на сетевые ресурсы бывают двух типов, это share permissions – то есть разрешение на доступ именно по сети, и NTFS permissions – разрешения на доступ к файлу или папке.

Немного теории о правах NTFS. Каждый объект в системе содержит два ACL (access control list), которые называются DACL и SACL. Discretionary Access Control List и System Access Control List. Первый ACL контролирует доступ к файлу, второй настройки аудита файла. Оба этих листа доступа содержат записи ACE – access control entry. DACL содержит SID (Security Identifier) пользователей и групп и права доступа, а SACL из объекта системного аудита, и записываемых действий. По умолчанию аудит отключен.

Когда мы задаём доступ к сетевой папке, то как правило назначаем share и ntfs permissions. Права у нас назначаются,  исходя из минимальных назначенных права. Например если share permissions у нас только “чтение” для всех, то несмотря на то, что на папку назначены права “полный доступ”, у всех будут права только только чтение. И соответственно наоборот.

Поэтому в примере ниже, правильный способ назначения share permissions.

По умолчанию мы предоставляем всем полный сетевой доступ.

Следующим этапом создаём группы, в которые впоследствии будем добавлять пользователей. Например test_folder_read, и test_folder_write. Добавляем эти группы на доступ в папку, и выставляем права. При выставлении полных прав на доступ к папке, никогда не ставьте галочку “полные права”, всегда достаточно чтения и изменения. Связано это с тем, что галочка “полные права” даёт возможность изменять атрибуты папки и права на неё, что согласитесь для пользователей совсем лишнее.

Теперь, сочетание прав у нас следующее: хоть сетевой доступ у нас предоставлен всем, права доступа в папку ограниченны группами read и write, и те кто не добавлен в них, доступа в папку иметь не будут.

В windows server есть очень интересная фича, которая называется ABE – access base enumerate, или перечисление на основе доступа. Включить её можно установить роль “файловые службы”, и зайдя в остнастку “управление общими ресурсами и хранилищами”

При её включении, если у человека нет доступа на просмотр этой папки, он не будет видеть её в проводнике.

Часто возникает потребность, дать доступ к вложенной папке, таким образом, что бы файлы в папках верхних уровней были не видны. Допустим у нас есть вложенные друг в друга папки folder1, folder2 и folder3, и нам нужно дать полный доступ к folder3, но не давая доступ на чтение к folder1 и folder2. Делается это следующим образом. Заходим на вкладку безопасность, дополнительно папки folder1. Выбираем пользователя, которому нужно заходить в эту папку, но не нужно видеть её содержимое. (при условии что включен ABE), в противном случае файлы будут видны, но к ним не будет доступа. Выставляем права “чтение” и применяем их только к этой папке.

Применительно к folder2 делаем то же самое. А на папку folder3 выставляем разрешения для нужной группы или пользователя. В конечном итоге, пользователь будет заходить в папки folder1 и folder2, и увидит в них только одну папку – folder3.

Еще частым бывает вопрос – на folder1 у нас прописаны права для групп, которые наследуются. Как пользователю оставить доступ к папкам folder1 и folder2, но запретить доступ к папке folder3 не затрагивая других пользователей? Для этого сделаем следующее. Заходим в настройки безопасности, вкладка дополнительно папки folder3. Нажимаем кнопку “отключить наследования”, и становимся перед выбором – очистить все права доступа, или преобразовать наследованные права доступа в явные. Во втором случае это значит, что все права останутся такие же, какие и были, но больше не будут наследоваться, и мы спокойно можем их менять.

Например сможем явно запретить пользователю доступ к этой папке. А так как запрещающие правила имеют больший приоритет – то даже несмотря на то, что пользователь состоит в группе, которая имеет полные права – запрет будет эти права перебивать.

Если у Вас есть вопросы, задавайте их на форуме, или ниже в комментариях.