Небагато про share і NTFS permissions - Техноблог IT - сайт про комп’ютери та техніку

Хочу трохи розповісти, як грамотно настроїти дозволи на файловому сервері.

Права на мережеві ресурси бувають двох типів, це 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.

share

За замовчуванням ми надаємо всім повний доступ до мережі.

Наступним етапом створюємо групи, в які згодом додаватимемо користувачів. Наприклад test_folder_read та test_folder_write. Додаємо ці групи на доступ до папки і виставляємо права. При виставленні повних прав на доступ до папки ніколи не ставте галочку “повні права”, завжди достатньо читання та зміни. Пов'язано це з тим, що галочка "повні права" дає можливість змінювати атрибути папки та права на неї, що погодьтесякористувачів дуже зайве.

ntfs

Тепер, поєднання прав у нас таке: хоч мережевий доступ у нас наданий всім, права доступу до папки обмежені групами read і write, і ті, хто не доданий до них, доступу до папки не будуть мати.

У windows server є дуже цікава фіча, яка називається ABE - access base enumerate, або перерахування на основі доступу. Включити її можна встановити роль "файлові служби", і зайшовши в оснастку "управління загальними ресурсами та сховищами"

share

Часто виникає потреба дати доступ до вкладеної папки, таким чином, щоб файли в папках верхніх рівнів були не видно. Припустимо, у нас є вкладені один в одного папки folder1, folder2 і folder3, і нам потрібно дати повний доступ до folder3, але не даючи доступ на читання до folder1 і folder2. Робиться це так. Заходимо на вкладку безпеки, додатково папки folder1. Вибираємо користувача, якому потрібно заходити до цієї папки, але не потрібно бачити її вміст. (за умови, що включено ABE), в іншому випадку файли будуть видні, але до них не буде доступу. Виставляємо права “читання” та застосовуємо їх лише до цієї папки.

небагато

Стосовно folder2 робимо те саме. А на папку folder3 виставляємо дозволи для потрібної групи чи користувача. Зрештою, користувач заходитиме у папки folder1 і folder2, і побачить у них лише одну папку – folder3.

Ще частішим є питання – на folder1 у нас прописані права для груп, які успадковуються. Як користувачу залишити доступ до папок folder1 та folder2, але заборонити доступ до папки folder3 не торкаючись інших користувачів? Для цього зробимо таке. Заходимо до налаштувань безпеки, вкладка додатково папки folder3. Натискаємо кнопку “вимкнути спадкування”,і стаємо перед вибором – очистити всі права доступу, або перетворити спадкові права доступу на явні. У другому випадку це означає, що всі права залишаться такими ж, як і були, але більше не успадковуватимуться, і ми спокійно можемо їх змінювати.

share

Наприклад, зможемо явно заборонити користувачеві доступ до цієї папки. А оскільки забороняючі правила мають більший пріоритет - то навіть незважаючи на те, що користувач полягає в групі, яка має повні права - заборона перебиватиме ці права.