Починаючи з файлової системи NTFS було представлено як формат за замовчуванням у споживчих випусках Windows (починаючи з Windows XP), у людей були проблеми з доступом до своїх даних як на внутрішніх, так і на зовнішніх дисках. Прості атрибути файлів більше не є єдиною причиною проблем під час пошуку та використання їх файлів. Тепер ми повинні боротися з правами доступу до файлів і тек, як виявив один з наших читачів.
Питання нашого читача:
Я не можу бачити тата на моєму внутрішньому жорсткому диску. Я запустив команду «attrib -h -r -s/s/d», і вона показує, що доступ заборонено для кожної теки. Я можу перейти до тек за допомогою команди «Виконати», але не бачу тек на своєму жорсткому диску. Як я можу це виправити?
Брюс відповідь:
Ось деякі безпечні припущення, засновані на інформації, яку ми отримали: операційна система Windows XP або пізніша; використовувана файлова система - NTFS; користувач не має прав повного доступу до тієї частини файлової системи, якою він намагається маніпулювати; вони не в контексті адміністратора; і типові дозволи для файлової системи, можливо, було змінено.
Всі у Windows - це об'єкт, будь то розділ реєстру, принтер або файл. Незважаючи на те, що вони використовують одні й ті самі механізми для визначення доступу користувача, ми обмежимося обговоренням об'єктів файлової системи, щоб зробити його максимально простим.
Контроль доступу
будь-якого виду про контроль, хто може зробити щось на об'єкті, який буде захищений. У кого є ключ-карта, щоб відкрити ворота для входу до складу? У кого є ключі, щоб відкрити офіс генерального директора? У кого є комбінація, щоб відкрити сейф в їх офісі?
Той самий тип мислення стосується безпеки файлів і тек у файлових системах NTFS. Кожен користувач у системі не має необхідності мати доступ до кожного файлу в системі, і при цьому не потребує однакового доступу до цих файлів. Точно так само, як кожному співробітнику компанії не потрібен доступ до сейфу в офісі генерального директора або можливість змінювати корпоративні звіти, хоча їм може бути дозволено їх читати.
права доступу
Windows контролює доступ до об'єктів файлової системи (файлів і тек), встановлюючи дозволи для користувачів або груп. Вони вказують, який доступ користувач або група має до об'єкта. Ці дозволи можуть бути дозволені або заборонені для певного типу доступу, або можуть бути вказані явно для об'єкта або неявно шляхом успадкування з його батьківської теки.
Стандартні дозволи для файлів: Повний доступ, Змінити, Читати, Читати, Запис і Спеціальні. Теки мають іншу спеціальну роздільну здатність, яку називають списком вмісту тек. Ці стандартні дозволи є визначеними наборами розширених дозволів, які забезпечують більш детальний контроль, але зазвичай не потрібні поза стандартними дозволами.
Наприклад, стандартна роздільна здатність «Читання та виконання» включає додаткові дозволи:
- Тека пересування/Виконати файл
- Список тек/читання даних
- Читати атрибути
- Читати додаткові атрибути
- Дозволи на читання
Списки керування доступом
Кожен об'єкт у файловій системі має зв'язаний список контролю доступу (ACL). ACL - це список ідентифікаторів безпеки (SID), які мають дозволи для об "єкта. Підсистема локальних органів безпеки (LSASS) буде порівнювати SID, прикріплений до токену доступу, наданого користувачеві при вході в систему, з SID в ACL для об'єкта, до якого користувач намагається отримати доступ. Якщо SID користувача не відповідає жодному з SID у ACL, доступ буде заборонено. Якщо він збігається, запитаний доступ буде надано або відхилено на підставі дозволів для цього SID.
Існує також порядок оцінки дозволів, який необхідно враховувати. Явні дозволи мають пріоритет над неявними дозволами, а заборонні дозволи мають пріоритет над дозволами. По порядку це виглядає так:
- Явна Заборона
- Явний Дозволити
- Неявне Заборонити
- Неявне Дозволити
Типова роздільна здатність кореневого каталогу
Дозволи, які надаються у кореневому каталозі диска, не відрізняються, залежно від того, чи є диск системним диском. Як показано на зображенні нижче, системний диск має два окремі записи Дозволити для автентифікованих користувачів. Є така, яка дозволяє автентифікованим користувачам створювати теки і додавати дані до існуючих файлів, але не змінювати існуючі дані у файлі, які застосовуються тільки до кореневого каталогу. Інший дозволяє автентифікованим користувачам змінювати файли та теки, що містяться в підпапках, якщо ця підпапка успадковує дозволи від кореня.
Системні каталоги (Windows, Програмні дані, Програмні файли, Програмні файли (x86), Користувачі або Документи та параметри і, можливо, інші) не успадковують свої дозволи від кореневого каталогу. Оскільки вони є системними каталогами, їх дозволи явно встановлені, щоб допомогти запобігти ненавмисній або зловмисній зміні файлів операційної системи, програм і конфігурації шкідливим ПЗ або хакером.
Якщо це не системний диск, єдина відмінність полягає в тому, що в групі «Попередні перевірки» є один запис роздільної здатності, який дозволяє змінювати роздільної здатності для кореневої теки, підпапок і файлів. Всі дозволи, призначені для 3 груп і облікового запису SYSTEM, успадковуються по всьому диску.
Аналіз проблем
Коли наш автор виконав команду attrib, намагаючись вилучити всі системні, приховані і доступні тільки для читання атрибути для всіх файлів і тек, починаючи з (незазначеного) каталогу, в якому вони перебували, вони отримали повідомлення, що вказують дію, яку вони хотіли виконати (Запис атрибутів) було відмовлено. Залежно від каталогу, в якому вони перебували, коли запускали команду, це, ймовірно, дуже хороша річ, особливо якщо вони були в C: \.
Замість того, щоб намагатися виконати цю команду, було б краще просто змінити налаштування в провіднику/провіднику Windows, щоб показати приховані файли і каталоги. Це може бути легко досягнуто, перейшовши до Впорядкувати > Теки і параметри пошуку в провіднику Windows або Файл > Змінити теку і параметри пошуку в провіднику. У діалоговому вікні, що з'явилося, виберіть вкладку «Перегляд» > «Показати приховані файли, теки та диски». Якщо буде позначено цей пункт, приховані теки і файли будуть показуватися у списку як недоступні елементи.
На цьому етапі, якщо файли та теки досі не з'являються, виникає проблема зі розширеною роздільною здатністю «Список тек/Читання даних». Користувачеві або групі, до якої належить користувач, явно або неявно відмовлено в дозволі на зазначені теки, або користувач не належить до жодної з груп, що мають доступ до цих тек.
Ви можете запитати, як читач може перейти безпосередньо в одну з цих тек, якщо у користувача немає дозволів «Список тек/Читання даних». Якщо ви знаєте шлях до теки, ви можете перейти до неї за умови, що у вас є розширені дозволи для теки/виконання файла. Це також є причиною того, що проблема не пов'язана зі стандартною роздільною здатністю «Вміст теки списку». У нього є обидва ці додаткові дозволи.
Роздільна здатність
За винятком системних каталогів, більшість дозволів успадковується по ланцюжку. Отже, перший крок - визначити каталог, найближчий до кореня диска, де з'являються симптоми. Знайшовши цей каталог, клацніть його правою клавішею миші та виберіть «Властивості» > «Безпека». Перевірте дозволи для кожної з груп/користувачів, щоб переконатися, що у них є позначка у стовпчику «Дозволити» для дозволу «Вміст теки списку», а не у стовпчику «Заборонити».
Якщо не позначено жодного стовпчика, подивіться також на запис «Спеціальні дозволи». Якщо цей параметр увімкнено (дозволено або заборонено), натисніть кнопку «Додаткові», потім «Змінити роздільну здатність» у діалоговому вікні, що з'явиться, якщо ви використовуєте Vista або пізнішу версію. Це призведе до майже ідентичного діалогового вікна з кількома додатковими кнопками. Виберіть відповідну групу, клацніть «Змінити» і переконайтеся, що роздільна здатність «Список тек/читання даних» дозволена.
Якщо перевірки виділені сірим кольором, це означає, що це успадкована роздільна здатність, і її зміну слід виконувати в батьківській теці, якщо немає вагомих причин не робити цього, наприклад, це каталог профілю користувача, а батьківську теку «Користувачі» або «Документи та налаштування». Також нерозумно додавати дозволи другому користувачеві для доступу до каталогу профілю іншого користувача. Замість цього увійдіть до системи як цей користувач, щоб отримати доступ до цих файлів і тек. Якщо це те, що має бути спільним, перемістіть їх до каталогу загального профілю або використовуйте вкладку «Спільний доступ», щоб інші користувачі могли отримати доступ до ресурсів.
Також можливо, що у користувача немає прав на редагування прав доступу до розглянутих файлів або каталогів. У цьому випадку Windows Vista або пізнішої версії повинен відображатися "Контроль облікових записів користувача" (UAC) "список керування запитом пароля адміністратора або дозволів на підвищення привілеїв користувача, щоб дозволити цей доступ. У Windows XP користувач повинен відкрити провідник Windows з параметром «Запуск від імені»... і використовувати обліковий запис адміністратора щоб переконатися, що зміни можуть бути внесені, якщо вони ще не запущені з обліковим записом адміністратора.
Я знаю, що багато людей просто скажуть вам взяти на себе відповідальність за каталоги і файли, про які йдеться, але є одне величезне попередження для цього рішення. Якщо це вплине на будь-які системні файли та/або каталоги, ви сильно послабите загальну безпеку вашої системи. Це ніколи не повинно виконуватися для кореневого каталогу, Windows, користувачів, документів і налаштувань, програмних файлів, програмних файлів (x86), програмних даних або каталогів inetpub або будь-яких їх підпапок.
Вивід
Як бачите, дозволи на дисках NTFS не дуже складні, але пошук джерел проблем з доступом може бути втомливим в системах з великою кількістю каталогів. Озброївшись базовим розумінням того, як дозволи працюють зі списками контролю доступу, і трохи завзятістю, виявлення і усунення цих проблем скоро стане дитячою грою.
