Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
acl [2024/09/17 14:52] jango [Windows] |
acl [2025/05/14 08:47] (aktuell) jango |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | Mit Hilfe von Access Control Lists (kurz ACL) ist es möglich, einzelnen Nutzern (oder auch Gruppen) gezielt Rechte an einzelnen Dateien bzw Diensten zu gewähren oder zu entziehen. | + | Mit Hilfe von Access Control Lists (kurz ACL) ist es möglich, einzelnen Nutzern (oder auch Gruppen) gezielt Rechte an einzelnen Dateien bzw Diensten zu gewähren oder zu entziehen. Siehe auch [[icacls]]. |
| ACLs werden aber auch auf [[switch|Switches]], | ACLs werden aber auch auf [[switch|Switches]], | ||
| Zeile 26: | Zeile 26: | ||
| <code powershell> | <code powershell> | ||
| - | Get-ACL "C:\Ordner" | + | ### Get ACL |
| - | Get-ACL "C:\Ordner" | %{ $_.Access} | + | |
| + | Write-Output | ||
| + | get-acl -path " | ||
| + | |||
| + | |||
| + | ### Modify ACL | ||
| + | |||
| + | $NewAcl = Get-Acl -Path " | ||
| + | |||
| + | # Properties | ||
| + | $identity = " | ||
| + | $fileSystemRights = " | ||
| + | $type = " | ||
| + | |||
| + | # Create new rule | ||
| + | $fileSystemAccessRuleArgumentList = $identity, $fileSystemRights, | ||
| + | $fileSystemAccessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $fileSystemAccessRuleArgumentList | ||
| + | |||
| + | # Apply new rule | ||
| + | $NewAcl.SetAccessRule($fileSystemAccessRule) | ||
| + | Set-Acl -Path " | ||
| + | |||
| + | Write-Output "After Modify:" | ||
| + | get-acl -path " | ||
| + | |||
| + | ### Remove | ||
| + | |||
| + | $Acl = Get-Acl -Path "\\fileserver\public\gbi\berechtigungsaudit\test" | ||
| + | |||
| + | # Properties | ||
| + | $Identity = " | ||
| + | $FileSystemRights = [System.Security.AccessControl.FileSystemRights]:: | ||
| + | $AccessControlType = [System.Security.AccessControl.AccessControlType]:: | ||
| + | $InheritanceFlags = [System.Security.AccessControl.InheritanceFlags]:: | ||
| + | $PropagationFlags = [System.Security.AccessControl.PropagationFlags]:: | ||
| + | |||
| + | # Create rule to remove | ||
| + | $RuleToRemove = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $Identity, $FileSystemRights, | ||
| + | $Acl.RemoveAccessRule($RuleToRemove) | ||
| + | |||
| + | # Apply rule | ||
| + | Set-Acl -Path " | ||
| + | |||
| + | Write-Output "After Remove:" | ||
| + | get-acl -path " | ||
| </ | </ | ||
| + | |||
| + | Die InheritanceFlags bestimmen, ob und wie Berechtigungen vererbt werden. Die PropagationFlags dagegen beeinflussen das Verhalten dieser Vererbung. | ||
| + | |||
| + | InheritanceFlags legen fest, ob und auf welche Arten von Objekten (Container oder Objekte) die ACL-Einträge vererbt werden. | ||
| + | |||
| + | * ContainerInherit: | ||
| + | * ObjectInherit: | ||
| + | * None: Keine Vererbung auf untergeordnete Objekte. | ||
| + | |||
| + | PropagationFlags beeinflussen wie die Vererbung angewendet wird wenn sie aktiviert ist (also wenn InheritanceFlags gesetzt sind). Sie kontrollieren die Weitergabe der Vererbung. | ||
| + | |||
| + | * None: Es gibt keine Einschränkungen bei der Vererbung. Der Eintrag wird normal auf untergeordnete Objekte (Ordner und Dateien) vererbt. | ||
| + | * NoPropagateInherit: | ||
| + | * InheritOnly: | ||
| + | |||
| + | ====Icacls==== | ||
| Auch [[Windows]] unterstützt granulare Berechtigungseinstellungen. | Auch [[Windows]] unterstützt granulare Berechtigungseinstellungen. | ||
| Zeile 45: | Zeile 105: | ||
| icacls filename /remove username | icacls filename /remove username | ||
| </ | </ | ||
| + | |||
| + | =====Links===== | ||
| + | |||
| + | * [[https:// | ||