Защита файлов и каталогов с помощью NTFS. Права доступа. Разрешения NTFS. Кто управляет DACL и SACL, страница 4

И, наконец, специальные разрешения. Это комбинации индивидуальных разрешений R, W, X, D, Р и О, не совпадающие ни с одним стандартным набором. Установить специальные разрешения NTSF в диалоговом окне FilePermissions или DirectoryPermissionsможно только правкой существующих разрешений для пользователя или группы. Иными словами, чтобы установить для кого-нибудь специальное разрешение NTFS, Вам придется установить сначала какое-либо из стандартных и лишь затем преобразовать его в специальное. При этом для папок можно отдельно регулировать доступ как к самой папке (SpecialDirectoryAccess), так и к находящимся в ней файлам (SpecialFileAccess). Таким образом удается весьма дифференцированно управлять доступом пользователей к файлам и папкам на разделах с файловой системой NTFS.

Замечания, относящиеся к работе с разрешениями NTFS

*  Разрешения, установленные на файл, играют более важную роль при определении типа доступа пользователя, чем разрешения на папку. Если пользователю установлено разрешение No Accessдля папки C:\NOACCESS, а на содержащийся в этой папке файл README.TXT —разрешение Read, он все же сможет прочитать этот файл, если при обращении к нему укажет полное имя. Например, он сможет открыть файл в NOTEPAD командой:

NOTEPAD C:\NOACCESS\README.TXT

*  Разрешения, установленные для пользователя, складываются (аккумулируются) с разрешениями, установленными для групп, к которым он принадлежит. Например, если на доступ к какому-либо файлу для пользователя установлено разрешение Read, а для группы Everyone — разрешение Change, пользователь сможет изменить содержимое файла или удалить его, поскольку он всегда входит в эту группу. Из этого правила есть исключение — ситуация, при которой одним из установленных полномочий доступа является No Access; и не важно, кому именно это разрешено — пользователю или группе. NoAccessвсегда имеет приоритет, пользователь не сможет получить доступа к файлу или папке.

*  Пользователи, имеющие разрешение FullControlна папку, могут удалять файлы в этой папке независимо от разрешений, установленных на файл (даже если разрешение на файл — No Access). Это следствие того, что NTFS разработана как система, удовлетворяющая стандарту POSIX. 1. Чтобы решить эту проблему (если полный набор полномочий доступа к папке действительно необходим), надо установить для папки специальный тип доступа, включающий все индивидуальные разрешения R, W, X, D, Р и О. При этом пользователи получают тот же набор разрешенных действий, что и при разрешении FullControl, но теряют возможность несанкционированного удаления файлов в этой папке.

*  Пользователь, создающий папку или файл на разделах с NTFS, становится владельцем созданного объекта. Кроме того, владельцем папки или файла может стать любой пользователь, обладающий стандартным разрешением FullControlили специальным разрешением TakeOwnership. Владелец всегда имеет возможность прочитать информацию о разрешениях на доступ к папке или файлу и изменить их, даже если ему ничего не разрешено или установлено разрешение No Access. Отсюда следует: достаточно дать пользователю разрешение TakeOwnership, и он в конечном счете сможет получить любой доступ к файлу или папке на разделе с NTFS.

Кто управляет DACL и SACL?

Итак, в операционной системе Windows NT управление доступом к ресурсам на разделах с NTFS в основном возлагается не на администратора системы, а на владельца ресурса. Администратор может вообще не иметь доступа к файлам и папкам пользователей. Как же тогда контролировать работу с файлами и папками и, если надо, обеспечить возможность администратору получить доступ к тем NTFS-ресурсам, к которым у него в данный момент доступа нет?