To turn off the option for inheriting permissions in Windows 10, follow these steps:
1. Right-click on the folder or file for which you want to disable permission inheritance and select “Properties” from the context menu.
2. In the Properties window, navigate to the “Security” tab.
3. Click on the “Advanced” button located at the bottom.
4. In the Advanced Security Settings window, click on the “Disable inheritance” button.
5. A pop-up window will appear, asking if you want to convert inherited permissions into explicit permissions. Choose the option that suits your requirements. Keep in mind that converting inherited permissions to explicit permissions can be a complex process, so proceed with caution.
6. After making your selection, click on the “Remove all inherited permissions from this object” checkbox and click “Apply”.
7. You will receive another warning about the potential consequences of removing inherited permissions. Review the information provided and click “OK” if you are certain about your decision.
8. Finally, click “OK” in the Advanced Security Settings window and “OK” again in the Properties window to save the changes.
By following these steps, you can effectively turn off the option for inheriting permissions for a specific folder or file in Windows 10, granting you more control over access and security settings.
Video Tutorial:How to disable inheritance in command line?
How do you block inheritance?
In object-oriented programming, inheritance is a fundamental concept that allows classes to inherit properties and methods from a parent class. However, there may be scenarios where you want to prevent a class from being inherited.
To block inheritance in most programming languages, you can use specific keywords or mechanisms depending on the language you’re working with. Let’s consider an example using the Java programming language.
In Java, the `final` keyword can be used to block inheritance. By declaring a class as `final`, you indicate that it cannot be subclassed. Here’s an example:
“`java
final class MyClass {
// Class implementation here
}
“`
In this case, the `MyClass` is marked as `final`, preventing other classes from inheriting from it.
Similarly, some languages provide alternative mechanisms to block inheritance. For instance, in C++, the `final` keyword can be used to prevent a class from being derived:
“`cpp
class MyBaseClass final {
// Class implementation here
};
“`
By marking `MyBaseClass` as `final`, you indicate that it cannot be used as a base class for any other class.
Understanding and applying the right mechanism to block inheritance will depend on the programming language you are using. It is important to consult the documentation and guidelines specific to the language you are working with to ensure you are using the correct approach.
What does enable inheritance mean in Windows 10?
In the context of Windows 10, enabling inheritance refers to the process of allowing permissions to be inherited by subfolders or files within a parent folder. When inheritance is enabled, the security settings applied to the parent folder automatically propagate to its subfolders and files. This means that any permissions set on the parent folder will be passed down to all its contained objects, ensuring consistent access control across the hierarchy.
Enabling inheritance can be useful in scenarios where you want to apply uniform security settings to multiple files or folders within a directory structure. By enabling inheritance, you can avoid the need to manually set individual permissions for each subfolder or file, streamlining the management of access controls.
However, it’s important to note that enabling inheritance should be done with caution, as it can potentially lead to unintended exposure of sensitive data or unauthorized access. Before enabling inheritance, it is advisable to carefully review and understand the existing permissions on the parent folder, ensuring that they align with your security requirements.
In summary, enabling inheritance in Windows 10 allows permissions set on a parent folder to be automatically passed down to its subfolders and files, ensuring consistent access control throughout the directory structure. Careful consideration and review of existing permissions are essential to prevent unintended security vulnerabilities.
What is inherited permissions in Windows 10?
In Windows 10, inherited permissions refer to the concept of granting access rights or permissions to a file or folder based on its position within the directory structure. When permissions are inherited, it means that a file or folder inherits the permissions of its parent directory. This allows for easier management and consistency of access control throughout the system.
Inherited permissions work by propagating the permissions down the directory tree. By default, when a new file or folder is created within a directory, it inherits the permissions of that directory. If the permissions on the parent directory change, the changes are also applied to the child objects within it.
Inherited permissions can be useful in situations where you want to apply consistent access control to multiple files or folders without having to set individual permissions on each one. It simplifies the administration of permissions and ensures that changes made at the parent level are automatically reflected in the child objects.
However, it’s important to note that inherited permissions can sometimes lead to unintended consequences. For example, if a user has permissions to a parent directory, all the files and subfolders within it will also inherit those permissions. This means that it’s crucial to carefully manage permissions at the parent level to avoid granting excessive access to unintended users or groups.
Overall, understanding and properly managing inherited permissions in Windows 10 is essential for maintaining a secure and organized file system while ensuring appropriate access control for different users and groups.
What is disable inheritance Windows 10?
Disable inheritance in Windows 10 is a security feature that allows users to prevent permissions and settings from being inherited by files, folders, and subfolders within a specific location. When inheritance is enabled, permissions from parent folders are automatically applied to child objects, which can simplify access control management. However, in certain cases, it may be necessary to disable inheritance to restrict access or permissions to specific folders or files independently.
By disabling inheritance, administrators can take full control of access control settings and tailor them to meet specific security requirements. This feature is particularly useful when dealing with sensitive data or when implementing custom permission settings that differ from parent folders.
To disable inheritance in Windows 10, follow these steps:
1. Navigate to the folder or file for which you want to disable inheritance.
2. Right-click on the folder or file and select “Properties.”
3. In the Properties window, go to the “Security” tab.
4. Click on the “Advanced” button.
5. In the Advanced Security Settings window, uncheck the option that says “Include inheritable permissions from this object’s parent.”
6. Select “Remove” when prompted to either copy or remove the inherited permissions.
7. Click “OK” to save the changes.
Once inheritance is disabled, the folder or file will no longer inherit permissions from its parent, and you can customize access control settings as needed. However, it’s important to note that managing permissions manually can be more complex and requires careful consideration to avoid unintended consequences or security vulnerabilities.
To turn off the option for inheriting permissions on a device running iOS 16, such as an iPhone 14, iPhone 14 Pro, or iPhone 14 Plus, you can follow these steps:
1. Open the “Settings” app on your iPhone and scroll down to find the “Privacy” section. Tap on it.
2. In the “Privacy” section, you’ll see various categories listed. Look for the category that relates to the permissions you want to manage. For example, if you want to adjust permissions for camera access, tap on the “Camera” option.
3. Inside the camera settings, you’ll find a toggle switch for “Inherit Permissions” or “Inherit Access.” Toggle this switch off to disable the option for inheriting permissions.
4. After turning off the inherit permissions option for a specific category, you can customize the permissions individually for each app or service listed below.
By disabling the inherit permissions option, you gain more control over which apps or services can access certain features or data on your device. This can be useful in ensuring your privacy and optimizing your device’s security. Keep in mind that some app functionalities may be affected if you restrict their access to specific permissions, so make sure to review and adjust the permissions according to your preferences and needs.
How do I stop inheriting permissions in powershell?
To stop inheriting permissions in PowerShell, you can use the Set-Acl cmdlet to modify the Access Control List (ACL) of a file or folder. Here’s how you can do it:
1. Open PowerShell by searching for it in the Start menu and running it as an administrator.
2. Use the Get-Acl cmdlet to retrieve the current ACL of the file or folder you want to stop inheriting permissions from. For example, if you want to modify the permissions of a folder named “MyFolder,” you would run the following command:
“`
$acl = Get-Acl -Path “C:PathToMyFolder”
“`
3. Use the Set-Acl cmdlet to modify the ACL and disable permission inheritance. You can achieve this by specifying the “Access” parameter and setting it to the desired permissions. Additionally, use the “NoPropagateInherit” flag to prevent inherited permissions from applying. For example:
“`
Set-Acl -Path “C:PathToMyFolder” -AclObject $acl -Access “$env:username”,”FullControl” -NoPropagateInherit
“`
In this command, “$env:username” represents your username, and “FullControl” is the permission level you want to set. You can adjust these values as per your specific requirements.
4. After executing the command, the ACL for the specified file or folder will be updated, and it will no longer inherit permissions from its parent directory.
Please note that modifying ACLs can have serious security implications, so exercise caution and ensure that you understand the consequences before making any changes.
{“@context”:”https://schema.org”,”@type”:”FAQPage”,”mainEntity”:[{“@type”:”Question”,”name”:”How do you block inheritance?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”In object-oriented programming, inheritance is a fundamental concept that allows classes to inherit properties and methods from a parent class. However, there may be scenarios where you want to prevent a class from being inherited. nnTo block inheritance in most programming languages, you can use specific keywords or mechanisms depending on the language you’re working with. Let’s consider an example using the Java programming language.nnIn Java, the `final` keyword can be used to block inheritance. By declaring a class as `final`, you indicate that it cannot be subclassed. Here’s an example:nn“`javanfinal class MyClass {n // Class implementation heren}n“`nnIn this case, the `MyClass` is marked as `final`, preventing other classes from inheriting from it.nnSimilarly, some languages provide alternative mechanisms to block inheritance. For instance, in C++, the `final` keyword can be used to prevent a class from being derived:nn“`cppnclass MyBaseClass final {n // Class implementation heren};n“`nnBy marking `MyBaseClass` as `final`, you indicate that it cannot be used as a base class for any other class.nnUnderstanding and applying the right mechanism to block inheritance will depend on the programming language you are using. It is important to consult the documentation and guidelines specific to the language you are working with to ensure you are using the correct approach.”}},{“@type”:”Question”,”name”:”What does enable inheritance mean in Windows 10?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”In the context of Windows 10, enabling inheritance refers to the process of allowing permissions to be inherited by subfolders or files within a parent folder. When inheritance is enabled, the security settings applied to the parent folder automatically propagate to its subfolders and files. This means that any permissions set on the parent folder will be passed down to all its contained objects, ensuring consistent access control across the hierarchy.nnEnabling inheritance can be useful in scenarios where you want to apply uniform security settings to multiple files or folders within a directory structure. By enabling inheritance, you can avoid the need to manually set individual permissions for each subfolder or file, streamlining the management of access controls.nnHowever, it’s important to note that enabling inheritance should be done with caution, as it can potentially lead to unintended exposure of sensitive data or unauthorized access. Before enabling inheritance, it is advisable to carefully review and understand the existing permissions on the parent folder, ensuring that they align with your security requirements.nnIn summary, enabling inheritance in Windows 10 allows permissions set on a parent folder to be automatically passed down to its subfolders and files, ensuring consistent access control throughout the directory structure. Careful consideration and review of existing permissions are essential to prevent unintended security vulnerabilities.”}},{“@type”:”Question”,”name”:”What is inherited permissions in Windows 10?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”In Windows 10, inherited permissions refer to the concept of granting access rights or permissions to a file or folder based on its position within the directory structure. When permissions are inherited, it means that a file or folder inherits the permissions of its parent directory. This allows for easier management and consistency of access control throughout the system.nnInherited permissions work by propagating the permissions down the directory tree. By default, when a new file or folder is created within a directory, it inherits the permissions of that directory. If the permissions on the parent directory change, the changes are also applied to the child objects within it.nnInherited permissions can be useful in situations where you want to apply consistent access control to multiple files or folders without having to set individual permissions on each one. It simplifies the administration of permissions and ensures that changes made at the parent level are automatically reflected in the child objects.nnHowever, it’s important to note that inherited permissions can sometimes lead to unintended consequences. For example, if a user has permissions to a parent directory, all the files and subfolders within it will also inherit those permissions. This means that it’s crucial to carefully manage permissions at the parent level to avoid granting excessive access to unintended users or groups.nnOverall, understanding and properly managing inherited permissions in Windows 10 is essential for maintaining a secure and organized file system while ensuring appropriate access control for different users and groups.”}},{“@type”:”Question”,”name”:”What is disable inheritance Windows 10?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Disable inheritance in Windows 10 is a security feature that allows users to prevent permissions and settings from being inherited by files, folders, and subfolders within a specific location. When inheritance is enabled, permissions from parent folders are automatically applied to child objects, which can simplify access control management. However, in certain cases, it may be necessary to disable inheritance to restrict access or permissions to specific folders or files independently.nnBy disabling inheritance, administrators can take full control of access control settings and tailor them to meet specific security requirements. This feature is particularly useful when dealing with sensitive data or when implementing custom permission settings that differ from parent folders.nnTo disable inheritance in Windows 10, follow these steps:n1. Navigate to the folder or file for which you want to disable inheritance.n2. Right-click on the folder or file and select “Properties.”n3. In the Properties window, go to the “Security” tab.n4. Click on the “Advanced” button.n5. In the Advanced Security Settings window, uncheck the option that says “Include inheritable permissions from this object’s parent.”n6. Select “Remove” when prompted to either copy or remove the inherited permissions.n7. Click “OK” to save the changes.nnOnce inheritance is disabled, the folder or file will no longer inherit permissions from its parent, and you can customize access control settings as needed. However, it’s important to note that managing permissions manually can be more complex and requires careful consideration to avoid unintended consequences or security vulnerabilities.”}},{“@type”:”Question”,”name”:”How do I turn off the option for inheriting permissions?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”To turn off the option for inheriting permissions on a device running iOS 16, such as an iPhone 14, iPhone 14 Pro, or iPhone 14 Plus, you can follow these steps:nn1. Open the “Settings” app on your iPhone and scroll down to find the “Privacy” section. Tap on it.n2. In the “Privacy” section, you’ll see various categories listed. Look for the category that relates to the permissions you want to manage. For example, if you want to adjust permissions for camera access, tap on the “Camera” option.n3. Inside the camera settings, you’ll find a toggle switch for “Inherit Permissions” or “Inherit Access.” Toggle this switch off to disable the option for inheriting permissions.n4. After turning off the inherit permissions option for a specific category, you can customize the permissions individually for each app or service listed below.nnBy disabling the inherit permissions option, you gain more control over which apps or services can access certain features or data on your device. This can be useful in ensuring your privacy and optimizing your device’s security. Keep in mind that some app functionalities may be affected if you restrict their access to specific permissions, so make sure to review and adjust the permissions according to your preferences and needs.”}},{“@type”:”Question”,”name”:”How do I stop inheriting permissions in powershell?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”To stop inheriting permissions in PowerShell, you can use the Set-Acl cmdlet to modify the Access Control List (ACL) of a file or folder. Here’s how you can do it:nn1. Open PowerShell by searching for it in the Start menu and running it as an administrator.nn2. Use the Get-Acl cmdlet to retrieve the current ACL of the file or folder you want to stop inheriting permissions from. For example, if you want to modify the permissions of a folder named “MyFolder,” you would run the following command:n “`n $acl = Get-Acl -Path “C:PathToMyFolder”n “`nn3. Use the Set-Acl cmdlet to modify the ACL and disable permission inheritance. You can achieve this by specifying the “Access” parameter and setting it to the desired permissions. Additionally, use the “NoPropagateInherit” flag to prevent inherited permissions from applying. For example:n “`n Set-Acl -Path “C:PathToMyFolder” -AclObject $acl -Access “$env:username”,”FullControl” -NoPropagateInheritn “`nn In this command, “$env:username” represents your username, and “FullControl” is the permission level you want to set. You can adjust these values as per your specific requirements.nn4. After executing the command, the ACL for the specified file or folder will be updated, and it will no longer inherit permissions from its parent directory.nnPlease note that modifying ACLs can have serious security implications, so exercise caution and ensure that you understand the consequences before making any changes.”}}]}
Today, we will see what Inherited Permissions are in Windows 10, and how they affect files, folders, and Registry keys. Also, we will learn how to disable and enable them for an object in Windows 10.
NTFS is the standard file system of the Windows NT operating system family. Starting with Windows NT 4.0 Service Pack 6, it supported the concept of permissions which can be configured to permit or restrict access to files, folders, and other objects locally and over a network.
By default, almost all system files, system folders and even Registry keys in Windows 10 are owned by a special built-in user account called «TrustedInstaller». Other user accounts are set to only read the files.
As a user accesses each file, folder, registry key, printer, or an Active Directory object, the system checks its permissions. It supports inheritance for an object, e.g. files can inherit permissions from their parent folder. Also every object has an Owner which is the user account that can set ownership and change permissions.
If you are interested in managing NTFS permissions, refer to the following article:
How to take ownership and get full access to files and folders in Windows 10
Permission types
In short, there are two types of permissions — explicit permissions and inherited permissions.
There are two types of permissions: explicit permissions and inherited permissions.
-
Explicit permissions are those that are set by default on non-child objects when the object is created, or by user action on non-child, parent, or child objects.
- Inherited permissions are those that are propagated to an object from a parent object. Inherited permissions ease the task of managing permissions and ensure consistency of permissions among all objects within a given container.
By default, objects within a container inherit the permissions from that container when the objects are created. For example, when you create a folder called MyFolder, all subfolders and files created within MyFolder automatically inherit the permissions from that folder. Therefore, MyFolder has explicit permissions, while all subfolders and files within it have inherited permissions.
Effective permissions are based on a local evaluation of the user’s group membership, user privileges, and permissions. The Effective Permissions tab of the Advanced Security Settings property page lists the permissions that would be granted to the selected group or user based solely on the permissions granted directly through group membership. For details, see the following articles:
- Quickly Reset NTFS Permissions in Windows 10
- Add Reset Permissions Context Menu in Windows 10
Let’s see how to enable and disable inherited permissions for files in Windows 10. You must be signed in with an administrative account to continue.
Disable Inherited Permissions for a File or Folder in Windows 10
- Open File Explorer.
- Locate the file or folder you want to take disable inherited permissions for.
- Right-click the file or folder, click Properties, and then click the Security tab.
- Click on the Advanced button. The «Advanced Security Settings» window will appear.
- Click on the Disable inheritance button.
- You will be asked either to convert inherited permissions into explicit permissions or to remove all inherited permissions. If you are not sure, choose to convert them.
The following screenshot shows what happens when you choose to remove the inherited permissions. Only explicit permissions are left.
You are done. Click OK to close the dialog.
Enable Inherited Permissions for a File or Folder in Windows 10
- Open File Explorer.
- Locate the file or folder with disabled inherited NTFS permissions.
- Right-click the file or folder, click Properties, and then click the Security tab.
- Click on the Advanced button. The «Advanced Security Settings» window will appear.
- If you see the Change permissions button, click on it.
- Click on the button Enable inheritance.
You are done. The inherited permissions will be added to the list of current permissions.
Note: If you are enabling or disabling permission for a folder, you can turn on the option Replace all child object permissions entries with inheritable permission entries from this object to update permissions for all child objects.
Enable or Disable Inherited Permissions for a Registry Key
Subkeys can have inherited permissions from their parent key. Or, subkeys can also have explicit permissions, separate from the parent key. In the first case, that is, if the permissions are inherited from the parent key, you have to disable inheritance and copy permissions to the current key.
To change the inherited permissions for a Registry key,
- Open the Registry Editor app.
- Go to a Registry key you want to disable or enable the inherited permissions. See how to go to a Registry key with one click.
- Right click on that key and select the Permissions… option from the context menu.
- In the next dialog, click on the Advanced button.
- Click on the button Disable inheritance to disable the inherited permissions.
- Click on the button Enable inheritance to enable the inherited permissions for a key with disabled inherited permissions.
Also, see the following guide:
Windows Registry Editor for dummies
Enable or Disable Inherited Permissions in the Command Prompt
- Open an elevated command prompt.
- Run the following command to disable the inherited permissions for a file or folder and convert them into explicit permissions:
icacls "full path to your file" /inheritance:d
. - Disable the inherited permissions for a file or folder and remove them:
icacls "full path to your file" /inheritance:r
. - Enable the inherited permissions for a file or folder:
icacls "full path to the folder" /inheritance:e
.
That’s it.
Related articles:
- Add Take Ownership Context Menu in Windows 10
- Backup Permissions For Files and Folders in Windows 10
- Add View Permissions Context Menu in Windows 10
- Add View Owner Context Menu in Windows 10
- How to restore the TrustedInstaller ownership in Windows 10
- How to take ownership and get full access to files and folders in Windows 10
Support us
Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:
If you like this article, please share it using the buttons below. It won’t take a lot from you, but it will help us grow. Thanks for your support!
КАК ОТКЛЮЧИТЬ НАСЛЕДОВАНИЕ РАЗРЕШЕНИЙ — ВОКРУГ-ДОМ — 2022
Видео: Как разграничить права доступа к общей папке (Июнь 2022).
Операционные системы Windows используют специальные разрешения для управления доступом к определенным файлам и папкам. Как правило, Windows назначает разрешения для файла на основе его родительской папки, поэтому администратору не нужно назначать разрешения для каждого отдельного файла. Говорят, что файл «наследует» свои разрешения от родительской папки. Однако отключение наследования разрешений позволяет любому файлу или папке иметь собственные настройки разрешений, отличные от родительской папки.
Шаг 1
Нажмите «Пуск» и выберите «Компьютер».
Шаг 2
Перейдите к файлу или папке, для которой вы хотите установить разрешения. Щелкните правой кнопкой мыши файл или папку и выберите «Свойства».
Шаг 3
Перейдите на вкладку «Безопасность» и выберите «Дополнительно», чтобы просмотреть параметры разрешений.
Шаг 4
Установите флажок «Унаследовать от родительских элементов записи разрешений, которые применяются к дочерним объектам», и нажмите «ОК», чтобы сохранить настройки. Это отключит наследование разрешений для файла или папки, и его настройки разрешений можно изменять отдельно от родительской папки.
Как отключить или включить NIC на Mac
Если внезапно обрывается соединение Ethernet на вашем Mac, и вы не можете получить доступ к Интернету, одним из шагов по устранению неполадок, которые могут решить проблему, является отключение и .
Как добавить в список разрешений в Защитнике Windows
По словам Microsoft, Защитник Windows защищает ваш компьютер от нежелательного программного обеспечения, такого как шпионское ПО, с защитой в реальном времени, доступом к сообществу SpyNet и вредоносным ПО .
Iphone Emergency SOS: как это работает и как отключить автоматический вызов
iOS Emergency SOS автоматически связывается с 911, не разблокируя телефон. Это может быть спасителем или серьезной болью.
- Кликаем правой кнопкой мыши по каталогу, который защищён от записи.
- Переходим в свойства папки.
Откроем свойства каталога, чтобы поработать с его правами.
- Переходим на вкладку «Безопасность» и нажимаем на кнопку «Дополнительно».
- Нужные нам настройки являются дополнительными.
- Нажимаем на кнопку «Отключение наследования». В появившемся окне выбираем опцию «Удалить все унаследованные разрешения из этого объекта».
Удаляем унаследованные разрешения папки.
Изменение прав доступа
- Открываем свойства папки и переходим в раздел «Безопасность».
- Нажимаем на кнопку «Изменить».
- Изменим разрешения для групп и пользователей.
- Выделяем в списке учётную запись, которая используется в данный момент.
- В блоке «Разрешения» убираем все галочки из колонки «Запретить».
- Убираем запреты на доступ, изменение и чтение.
- Для сохранения конфигурации нажимаем «Применить» и «ОК».
Настройка разрешений файловой системы NTFS
Файловая система NTFS используется в Windows с незапамятных времен. Если быть точнее, то первая версия NTFS появилась еще в Windows NT 3.1, в далеком 1993 году. Но не смотря на свой солидный возраст, NTFS до сих пор является основной файловой системой в Windows и замены ей пока не предвидится. NTFS поддерживает множество полезных функций, одной из которых является система разграничения доступа к данным с использованием списков контроля доступа (access control list, ACL). О том, как грамотно настраивать разрешения на файлы и папки в файловой системе NTFS и пойдет сегодня речь.
Для начала немного теории.
Информация обо всех объектах файловой системы NTFS, расположенных на томе, хранится в главной таблице файлов (Master File Table, MFT). Каждому файлу или папке соответствует запись в MFT, в которой содержится специальный дескриптор безопасности (Secirity Descriptor). Дескриптор безопасности включает в себя два списка ACL:
• System Access Control List (SACL) — системный список контроля доступа. Используется в основном для аудита доступа к объектам файловой системы;
• Discretionary Access Control List (DACL) — дискретный (избирательный) список контроля доступа. Именно этот список формирует разрешения файловой системы, с помощью которых происходит управление доступом к объекту. В дальнейшем говоря ACL мы будем иметь в виду именно DACL.
Каждый список ACL содержит в себе набор записей контроля доступа (Access Control Entry, ACE). Каждая запись включает в себя следующие поля:
• Идентификатор безопасности (SID) пользователя или группы, к которым применяется данная запись;
• Маска доступа, определяющая набор разрешений на данный объект;
• Набор флагов, определяющих, могут ли дочерние объекты наследовать данную ACE;
• Тип ACE (разрешение, запрет или аудит).
Примечание. Если в дескрипторе безопасности отсутствует ACL, то объект считается незащищенным и получить к нему доступ могут все желающие. Если же ACL есть, но в нем отсутствуют ACE, то доступ к объекту закрыт для всех.
И коротко о том, как происходит доступ к объекту, защищенному ACL. При входе пользователя в систему подсистема безопасности собирает данные о его учетной записи и формирует маркер доступа (access token). Маркер содержит идентификатор (SID) пользователя и идентификаторы всех групп (как локальных, так и доменных), в которые пользователь входит. И когда пользователь запрашивает доступ к объекту, информация из маркера доступа сравнивается с ACL объекта и на основании полученной информации пользователь получает (или не получает) требуемый доступ.
Закончим с теорией и перейдем к практике. Для издевательств создадим в корне диска C папку RootFolder.
Базовые разрешения
Для управления разрешениями мы будем использовать встроенные средства проводника. Для того, чтобы добраться до ACL, в проводнике выбираем папку, кликаем на ней правой клавишей мыши и в открывшемся контекстном меню выбираем пункт Properties (Свойства).
Затем переходим на вкладку Security (Безопасность), на которой отображаются текущие разрешения. Вот это собственно и есть ACL папки (в слегка сокращенном виде) — сверху пользователи и группы, снизу их разрешения. Обратите внимание, что вместо SID-а в таблице отображаются имена. Это сделано исключительно для удобства пользователей, ведь сама система при определении доступа оперирует идентификаторами. Поэтому, к примеру, невозможно восстановить доступ к файлам удаленного пользователя, создав нового пользователя с таким же именем, ведь новый пользователь получит новый SID и будет для операционной системы абсолютно другим пользователем.
Для перехода к редактированию разрешений надо нажать кнопку «Edit».
В качестве примера я выдам права на папку пользователю Kirill (т.е. себе). Первое, что нам надо сделать — это добавить нового пользователя в список доступа. Для этого жмем кнопку «Add»
выбираем нужного пользователя и жмем ОК.
Пользователь добавлен и теперь надо выдать ему необходимые разрешения. Но перед этим давайте рассмотрим поподробнее основные (базовые) разрешения файловой системы:
• List Folder Contents (Просмотр содержимого директории) — позволяет зайти в папку и просмотреть ее содержимое;
• Read (Чтение) — дает право на открытие файлапапки на чтение, без возможности изменения;
• Read & execute (Чтение и выполнение) — позволяет открывать файлы на чтение, а также запускать исполняемые файлы;
• Write (Запись) — разрешает создавать файлыпапки и редактировать файлы, без возможности удаления;
• Modify (Изменение) — включает в себя все вышеперечисленные разрешения. Имея разрешение Modify можно создавать, редактировать и удалять любые объекты файловой системы;
• Full Control (Полный доступ) — включает в себя разрешение Modify, кроме того позволяет изменять текущие разрешения объекта.
При добавлении пользователя в список доступа ему автоматически выдаются права на чтение и запуск.
Я воспользуюсь служебным положением и выдам себе полный доступ на папку. Для этого надо отметить соответствующий чекбокс и нажать OK.
Дополнительные разрешения
Базовые разрешения файловой системы не дают достаточной гибкости при управлении доступом, поэтому для более тонкой настройки используются дополнительные (расширенные) разрешения. Кстати, определить их наличие можно по наличию галки в строке Special Permissions (Специальные разрешения).
Для редактирования расширенных разрешений надо нажать кнопку «Advanced», после чего мы попадем в окно Advanced Security Settings (Дополнительные параметры безопасности).
Здесь выбираем пользователя и жмем кнопку «Edit».
В открывшемся окне мы увидим все те же базовые разрешения, а для перехода к расширенным надо перейти по ссылке Show advanced permissions (Отображение дополнительных разрешений).
Как видите, здесь разрешений гораздо больше, и настраиваются они детальнее. Вот полный список расширенных разрешений файловой системы:
• Traverse folder / execute file (Траверс папок / Выполнение файлов) — траверс в переводе означает проход, соответственно данное разрешение позволяет пройти внутрь папки и запустить в ней исполняемый файл. При этом зайти внутрь папки и просмотреть ее содержимое нельзя, а файлы внутри доступны только по прямой ссылке. Таким образом можно выдать права на конкретные файлы внутри, при этом не давая никаких прав на саму папку. Обратите внимание, что данное разрешение не устанавливает автоматически разрешения на выполнение для всех файлов в папке;
• List folder /read data (Содержимое папки / чтение данных) — право просматривать содержимое папки, без возможности изменения. Открывать или запускать файлы внутри папки тоже нельзя;
• Read attributes (Чтение атрибутов) — дает право просматривать основные атрибуты файлов (Read-only, System, Hidden и т.п.);
• Read extended attributes (Чтение расширенных атрибутов) — дает право просматривать дополнительные (расширенные) атрибуты файлов. Про расширенные атрибуты известно не очень много. Изначально они были добавлены в Windows NT для совместимости с OS/2 и на данный момент практически не используются. Тем не менее их поддержка присутствует в Windows до сих пор. Для работы с расширенными атрибутами в Windows готовых инструментов нет, но есть сторонняя утилита ea.exe, позволяющая добавлять, удалять и просматривать эти самые атрибуты;
• Create files / write data (Создание файлов / запись данных) — это разрешение дает пользователю право создавать файлы в папке, не имея прав доступа к самой папке. Т.е. можно копировать в папку файлы и создавать новые, но нельзя просматривать содержимое папки и открыватьизменять уже имеющиеся файлы. После добавления пользователь уже не сможет изменить файл, даже будучи его владельцем;
• Create folders / append data (Создание папок / добавление данных) — пользователь может создавать новые подпапки в текущей папке, а также добавлять данные в конец файла, при этом не изменяя уже имеющееся содержимое;
• Write attributes (Запись атрибутов) — дает право изменять практически все стандартные атрибуты файлов и папок, кроме атрибутов сжатия и шифрования. Дело в том, что для функций сжатия и шифрования требуется намного большие полномочия в системе, чем предоставляет данное разрешение. Если точнее, то для включения сжатия или шифрования необходимы права локального администратора;
• Write extended attributes (Запись расширенных атрибутов) — позволяет производить запись расширенных атрибутов файловой системы. Как я говорил выше, атрибуты эти почти не используются, однако есть исключения. В расширенные атрибуты файла можно записывать произвольные данные, чем пользуются некоторые вредоносные программы;
• Delete subfolders and files (Удаление подпапок и файлов) — позволяет удалять папки и файлы внутри родительской папки, при этом саму родительскую папку удалить нельзя;
• Delete (Удаление) — тут все просто, имея данное разрешение можно удалять все что душа пожелает. Но для удаления объекта кроме Delete необходимо иметь разрешение List folder /read data, иначе удалить ничего не получится;
• Read permissions (Чтение разрешений) — позволяет просматривать текущие разрешения файлапапки. Не позволяет открывать на чтение сам файл;
• Change permissions (Изменение разрешений) — дает пользователю право изменять текущие разрешения. Формально это разрешение не дает никаких прав на сам объект, однако по сути предоставляет к нему неограниченный доступ;
• Take ownership (Смена владельца) — данное разрешение позволяет сменить владельца файла или папки. О том, кто такой владелец, речь пойдет чуть позже.
Для примера отберем у пользователя только права на удаление, но оставим все остальные. Обратите внимание, что все разрешения зависят друг от друга и при добавленииснятии одной галки могут добавлятьсясниматься другие. Так при снятии разрешения Delete снимается Full Control.
Отзыв разрешений
Как выдавать разрешения мы выяснили, теперь о том, как их отбирать. Тут все просто, достаточно удалить пользователя или группу из списка и доступ автоматически пропадает. В качестве примера отберем доступ к папке у пользователя Kirill. Для этого откроем базовые разрешения, выберем нужного пользователя и нажмем кнопку «Remove».
Проверим, что пользователь удалился из списка
и попробуем зайти в папку. Поскольку у пользователя больше нет никаких разрешений, то получаем отказ в доступе.
Явный запрет
Как вы наверняка знаете, в файловой системе кроме разрешающих правил (Allow) есть еще и запрещающие (Deny). Однако явные запреты используются достаточно редко, поскольку для управления доступом вполне хватает обычных разрешений. Более того, запреты не рекомендуется использовать без крайней необходимости.
Дело в том, что запрещающие правила всегда имеют приоритет над разрешающими, поэтому при их использовании возможно возникновение конфликтов доступа. Например, если пользователь входит в две группы, у одной из которых есть разрешение на доступ к папке, а у второй явный запрет, то сработает запрет и пользователю будет отказано в доступе.
Однако бывают ситуации, в которых применение запретов может быть оправдано. К примеру, одному пользователю необходимо запретить доступ к папке. При этом он входит в группу, имеющую разрешения на доступ. Отобрать доступ у всей группы нельзя, поскольку в нее входят другие пользователи, которым доступ положен. Убрать пользователя из группы тоже нельзя, поскольку кроме доступа к папке она обеспечивает и другие разрешения, которые должны остаться. В такой ситуации единственным выходом остается только явный запрет на доступ для данного пользователя.
Запрещающие правила настраиваются аналогично разрешающим — заходим в настройки безопасности, выбираем пользователягруппу и проставляем нужные галки. Для примера запретим полный доступ к папке для пользвателя NoAccess.
Кстати, при использовании запретов система обязательно выдаст предупреждение и даже приведет пример.
В результате при наличии явного запрета пользователь получит такой же отказ в доступе, как и при отсутствии разрешений. Разве что сообщение немного отличается.
Как видите, в использовании запретов нет ничего страшного, хотя, на мой взгляд, это является показателем некоторой некомпетентности. Ведь при грамотно организованной структуре прав доступа в них не должно быть необходимости.
Наследование
Наследование (Inheritance) — это один из наиболее важных моментов, о которых нужно знать при работе с файловой системой. Суть наследования заключается в том, что каждый объект файловой системы (файл или папка) при создании автоматически наследует разрешения от ближайшего родительского объекта.
Давайте проверим на практике, как работает правило наследования. Для лучшей наглядности я создал структуру папок, состоящую из нескольких уровней. На верхнем уровне находится корневая папка RootFolder, в ней расположена подпапка SubFolder, в которую вложена подпапка SubSubFolder.
Для начала проверим разрешения корневой папки. Для этого перейдем к расширенным свойствам безопасности и посмотрим на текущие разрешения. В таблице разрешений присутствует столбец Inherited from (Унаследовано от), из которого можно узнать, какие разрешения являются унаследованным и от кого они унаследованы. Как видите, большинство разрешений папка унаследовала от диска C, на котором она расположена. Единственное не унаследованное разрешение — это разрешение для пользователя Kirill, которое было добавлено вручную.
Теперь копнем поглубже и перейдем к свойствам папки SubSubFolder. Здесь уже все разрешения являются унаследованными, но от разных объектов. Разрешения пользователя Kirill получены от корневой папки RootFolder, остальные наследуются от диска C. Из этого можно сделать вывод, что наследование является сквозным и работает независимо от уровня вложенности объекта. Корневая папка наследует разрешения от диска, дочерняя папка наследует разрешения от родительской, файлы наследуют разрешения от папки, в которой находятся.
Это свойство наследования очень удобно использовать для назначения прав на большие файловые ресурсы. Достаточно определить права на корневую папку и они автоматически распространятся на все нижестоящие папки и файлы.
Разрешения, наследуемые от вышестоящих объектов, называются неявными (implicit), а разрешения, которые устанавливаются вручную — явными (explicit). Явные разрешения всегда имеют приоритет над унаследованными, из чего вытекают следующие правила:
• Запрет имеет более высокий приоритет над разрешением;
• Явное разрешение имеет более высокий приоритет, чем неявное.
И если расположить приоритеты разрешений в порядке убывания, то получится такая картина:
1. Явный запрет
2. Явное разрешение;
3. Неявный запрет;
4. Неявное разрешение.
Т.е. если у пользователя одновременно имеется и разрешающее, и запрещающее правило, то подействует запрет. Но если запрет унаследован, а разрешение назначено вручную, то тут уже победит разрешающее правило. Проверим
Для примера запретим пользователю Kirill доступ к корневой папке RootFolder, но выдадим ему доступ к дочерней папке SubSubFolder. Получается, что у пользователя на папку SubSubFolder имеется унаследованный запрет и явно выданное разрешение.
В результате пользователь может зайти в саму папку SubSubFolder, т.е. явное разрешение победило. А вот при попытке подняться выше будет получена ошибка, сработает унаследованный запрет.
Кроме плюсов наследование имеет и свои минусы. Так изменить или удалить унаследованные разрешения невозможно, при попытке вы получите ошибку. Поэтому для их изменения сначала необходимо отключить наследование.
Для этого надо в расширенных настройках безопасности выбранного объекта нажать кнопку Disable inheritance (Отключить наследование) и выбрать один из двух вариантов:
• Convert inherited permissions into explicit permissions on this object (Преобразовать унаследованные от родительского объекта разрешения и добавить их в качестве явных разрешений для этого объекта);
• Remove all inherited permissions from this object (Удалить все унаследованные разрешения с этого объекта).
В первом варианте унаследованные разрешения остаются на месте, но становятся явными и их можно изменять и удалять.
Во втором — все унаследованные разрешения просто удаляются, остаются только явные (если они есть). Если же у объекта не было явных разрешений, то он станет бесхозным и ни у кого не будет к нему доступа. Впрочем, при необходимости наследование легко включить обратно, надо всего лишь нажать на кнопку Enable inheritance (Включить наследование).
Отключение наследования позволяет более детально настраивать разрешения для дочерних объектов. Однако может быть и обратная ситуация, когда на всех дочерних объектах надо убрать созданные вручную разрешения и заменить их на разрешения, наследуемые от родительского объекта. Сделать это просто, достаточно лишь отметить чекбокс Replace all child object permission entries with inheritable permission enntries from this object (Заменить все дочерние разрешения объекта на разрешения, наследуемые от этого объекта) и нажать «Apply».
При включенном наследовании область действия унаследованных разрешений можно ограничивать, тем самым добиваясь большей гибкости при настройке разрешений. Для настройки надо перейти к разрешениям конкретного пользователягруппы и указать, на какие именно дочерние объекты должны распространяться данные разрешения:
• This folder only — разрешения распространяются только на родительскую папку, не включая ее содержимое. Т.е. к файлам и папкам, находящиеся внутри данной папки, доступа нет. Не смотря на кажущуюся бесполезность данная настройка довольно часто используется. К примеру, для корневой папки мы выдаем разрешение для всех на просмотр содержимого, но ограничиваем глубину просмотра, а уже внутри папки настраиваем права так, как нам нужно. Соответственно пользователь может зайти в папку, осмотреться и выбрать нужный ему объект. Такой подход очень удобно использовать вместе с технологией Access Based Enumeration;
• This folder, subfolders and files — разрешения распространяются на папку включая все находящиеся в ней папки и файлы. Это выбор по умолчанию;
• This folder and subfolders — разрешения распространяются на родительскую папку и подпапки, не включая файлы. Т.е. к файлам, находящимся внутри данной папки и ее подпапок, доступа нет;
• This folder and files — здесь разрешения распространяются на саму папку и находящиеся в ее корне файлы. Если в родительской папке есть дочерние папки, то к ним и их содержимому доступа нет;
• Subfolders and files only — разрешения распространяются на все файлы и папки, находящиеся внутри родительской папки, но не дают доступ к самой папке;
• Subfolders only — разрешения распространяются только на подпапки, находящиеся в данной папке. На родительскую папку, а также на файлы, находящиеся внутри родительской папки и дочерних папок разрешений нет;
• Files only — разрешения распространяются на все файлы, находящиеся внутри родительской папки и дочерних папок. На родительскую папку и подпапки разрешений нет.
Данные ограничения в сочетании с расширенными разрешениями позволяют очень гибко настраивать права доступа к файлам. Для примера выдадим пользователю полный доступ к корневой папке, но установим ограничение This folder and subfolders, которое дает доступ ко всем дочерним папкам. И действительно, мы можем зайти в папку, пройти вглубь в подпапку Subsubfolder и даже посмотреть ее содержимое, а вот произвести какие либо действия с файлами у нас не получится.
Кроме определения области действия есть еще один способ ограничить наследование. Для этого надо отметить чекбокс Only apply these permissions to object and/or containers within this container (Применить данные разрешения для объектов внутри этого контейнера). Действие этого чекбокса ограничивает наследование только дочерними объектами и только данного объекта, т.е. при включении этой опции вне зависимости от выбранной области действия разрешения будут распространяться только на находящиеся в корне родительской папки файлы и папки.
Владелец
Вот мы и добрались до понятия владелец (Owner). Изначально владельцем объекта является пользователь, этот объект создавший. Что более важно, владелец имеет полный, никем и ничем не ограниченный доступ к объекту, и лишить его этого доступа достаточно сложно. Даже если владельца вообще нет в списке доступа и он не имеет никаких прав на объект, все равно он может легко это исправить и получить полный доступ.
Для примера удалим из списка доступа папки RootFolder всех ″живых″ пользователей и группы, оставим доступ только системе. Как видите, пользователь Kirill не имеет абсолютно никаких разрешений на папку, но при этом является ее владельцем.
Теперь зайдем в систему под этим пользователем, откроем проводник и попробуем зайти в папку. Доступа к папке конечно же нет, о чем сказано в предупреждении, но при этом предлагается продолжить открытие папки.
Соглашаемся на предложение, жмем кнопку «Continue» и спокойно открываем папку. А если теперь проверить разрешения, то мы увидим, что пользователь Kirill появился в списке и у него полный доступ. Дело в том, что если пользователь является владельцем папки, то при попытке доступа разрешения добавляются автоматически.
То, что владелец всегда может получить доступ к объекту, это понятно. А кто может стать владельцем? По умолчанию право сменить владельца (Take ownership) имеют члены группы локальных администраторов. Для примера отберем права владельца на папку RootFolder у пользователя Kirill. Затем заходим в расширенные свойства безопасности папки и видим, что пользователь неизвестен. Но Kirill входит в группу администраторов на компьютере и значит может вернуть себе владение папкой. Для получения прав владельца сразу жмем на кнопку «Change» или сначала на кнопку «Continue».
При нажатии на «Continue» окно откроется с правами администратора, а также вы получите небольшую подсказку, но затем все равно придется жать на кнопку «Change»
Дальше все просто, выбираем нужного пользователя (или группу), подтверждаем свой выбор
и становимся владельцем. Ну а став владельцем, мы сразу увидим текущие разрешения объекта и сможем их изменять.
Смена владельца корневой папки не означает автоматическую смену владельца у дочерних файловпапок. Для смены владельца всех объектов внутри надо отметить чекбокс Replace owner on subcontainers and objects (Сменить владельца у подконтейнеров и объектов) и нажать «Apply».
Что интересно, при смене владельца дочерних объектов заменяются и их текущие разрешения.
В результате Kirill становится не только владельцем, но и единственным имеющим разрешения пользователем.
Какие из всего этого можно сделать выводы? Первое — владелец объекта всегда может получить к нему доступ, независимо от текущих разрешений. Второе — администратор компьютера может сменить владельца любого объекта файловой системы и, соответственно, получить к нему доступ. Если же речь идет о сети предприятия, то доменные администраторы могут получить доступ к любому файловому ресурсу в пределах своего домена. Вот так)
Просмотр текущих разрешений
Как вы уже поняли, структура разрешений файловой системы может быть весьма сложной и запутанной. Особенно это касается файловых ресурсов общего доступа, в которых разрешения назначаются не отдельным пользователям, а группам. В результате определить разрешения для отдельно взятого пользователя становится достаточно сложной задачей, ведь надо определить все группы, в которые входит пользователь, а уже затем искать эти группы в списке доступа. Ну а группы могут иметь в качестве членов другие группы, да и пользователь как правило входит не в одну группу, и зачастую эти группы имеют различные разрешения на один о тот же объект.
К счастью в Windows есть способ просто и быстро определить, какие именно разрешения имеет конкретный пользователь на данный объект файловой системы. Для этого надо в окне расширенных свойств безопасности перейти на вкладку Effective Access (Действующие разрешения), нажать на ссылку Select a user (Выбрать пользователя) и найти нужного пользователя или группу.
Затем жмем на кнопку View effective access (Просмотр действующих разрешений) и получаем полный список разрешений, которые имеет выбранный пользователь на данный объект. В списке присутствуют все текущие разрешения пользователя, как полученные им непосредственно, так и назначенные на группы, в которые он входит. Это особенно актуально для системных администраторов, которым регулярно приходится разбираться с отсутствием доступа у пользователей.
Заключение
В данной статье я описал только наиболее важные моменты, которые нужно знать при работе с разрешениями файловой системы. В качестве заключения несколько правил, которые могут помочь при работе с разрешениями:
• По возможности выдавать разрешения не отдельным пользователям, а группам. Это позволяет один раз настроить все необходимые разрешения и больше не возвращаться к их редактированию, а права доступа назначать путем добавления пользователя в соответствующие группы;
• Стараться по максимуму использовать свойства наследования. Это может значительно сэкономить время, расходуемое на управление разрешениями;
• Не использовать явные запреты без крайней необходимости. Использование запретов очень сильно усложняет схему доступа, а в некоторых случаях может привести к конфликтам;
• Перед раздачей слонов разрешений, необходимо четко определиться с тем, какие именно действия пользовательгруппа будет производить с файлами (читать, редактировать, создавать новые файлыпапки или выдавать разрешения) и исходя из этого назначить минимально необходимые для работы разрешения. Проще говоря, если пользователю требуется открыть файл и прочесть его, то не надо давать ему полный доступ на всю папку;
• При копировании или перемещении файлов надо помнить о том, что разрешения сохраняются только в пределах текущего логического диска (или тома). Подробнее о сохранении разрешений при копировании можно почитать здесь;
• Для облегчения управления доступом к файловым ресурсам общего доступа можно использовать дополнительные технологии, облегчающие жизнь администратора. Так технология Access Based Enumeration позволяет пользователю видеть только те объекты, к которым у него есть доступ, технология Access Denied Assistance вместо отказа в доступе выдает осмысленное сообщение и позволяет пользователю обратиться к администратору или владельцу ресурса с запросом через специальную форму. Можно еще упомянуть Dynamic Access Control, хотя это уже отдельная большая тема.
Astrum
⭐⭐⭐
Здравствуйте, друзья! У меня возник вопрос: как запретить наследование разрешений для объекта в Windows 10? Мне нужно ограничить доступ к определенным файлам и папкам, но не знаю, как это сделать.
Luminar
⭐⭐⭐⭐
Чтобы запретить наследование разрешений для объекта в Windows 10, вам нужно воспользоваться следующими шагами: откройте свойства объекта, перейдите на вкладку «Безопасность», нажмите кнопку «Расширенные», затем снимите флажок «Унаследованные разрешения» и нажмите «Применить». После этого, разрешения объекта больше не будут наследоваться от родительского объекта.
Nebulon
⭐⭐⭐⭐⭐
Дополню предыдущий ответ: после снятия флажка «Унаследованные разрешения» вам необходимо вручную настроить разрешения для объекта, чтобы обеспечить необходимый уровень доступа. Это можно сделать на той же вкладке «Безопасность», где вы можете добавить или удалить пользователей и группы, а также настроить их разрешения.
Cosmos
⭐⭐⭐
Еще один важный момент: после запрета наследования разрешений, необходимо проверить, что все необходимые разрешения установлены корректно, чтобы избежать проблем с доступом к объекту. Также, не забудьте сохранить изменения и применить их к объекту и всем его дочерним объектам.
Вопрос решён. Тема закрыта.
- Забыл графический пароль на телефоне Xiaomi, как разблокировать?
- Каковы основные обязанности родительского комитета в детском саду?
- Першение в горле и кашель длительное время: причины у взрослого