Benutzer-Werkzeuge

Webseiten-Werkzeuge


acl

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
acl [2024/09/17 14:52]
jango [Windows]
acl [2025/04/09 10:31] (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]], [[router|Routern]] oder [[firewall|Firewalls]] eingesetzt um den Traffic zu kontrollieren.  ACLs werden aber auch auf [[switch|Switches]], [[router|Routern]] oder [[firewall|Firewalls]] eingesetzt um den Traffic zu kontrollieren. 
Zeile 26: Zeile 26:
  
 <code powershell> <code powershell>
-Get-ACL "C:\Ordner+### Get ACL 
-Get-ACL "C:\Ordner" | %{ $_.Access}+ 
 +Write-Output "Current:
 +get-acl -path "\\fileserver\public\gbi\berechtigungsaudit\test| %{ $_.Access | %{ "$($_.IdentityReference); $($_.FileSystemRights); $($_.IsInherited)" } } 
 + 
 + 
 +### Modify ACL 
 + 
 +$NewAcl = Get-Acl -Path "\\fileserver\public\gbi\berechtigungsaudit\test" 
 + 
 +# Properties 
 +$identity = "d2000\s_importexport" 
 +$fileSystemRights = "FullControl" 
 +$type = "Allow" 
 + 
 +# Create new rule 
 +$fileSystemAccessRuleArgumentList = $identity, $fileSystemRights, $type 
 +$fileSystemAccessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $fileSystemAccessRuleArgumentList 
 + 
 +# Apply new rule 
 +$NewAcl.SetAccessRule($fileSystemAccessRule) 
 +Set-Acl -Path "\\fileserver\public\gbi\berechtigungsaudit\test" -AclObject $NewAcl 
 + 
 +Write-Output "After Modify:" 
 +get-acl -path "\\fileserver\public\gbi\berechtigungsaudit\test" | %{ $_.Access | %{ "$($_.IdentityReference); $($_.FileSystemRights); $($_.IsInherited)" } } 
 + 
 +### Remove ACL 
 + 
 +$Acl = Get-Acl -Path "\\fileserver\public\gbi\berechtigungsaudit\test" 
 + 
 +# Properties 
 +$Identity = "d2000\s_importexport" 
 +$FileSystemRights = [System.Security.AccessControl.FileSystemRights]::FullControl 
 +$AccessControlType = [System.Security.AccessControl.AccessControlType]::Allow 
 +$InheritanceFlags = [System.Security.AccessControl.InheritanceFlags]::None 
 +$PropagationFlags = [System.Security.AccessControl.PropagationFlags]::None 
 + 
 +# Create rule to remove 
 +$RuleToRemove = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $Identity, $FileSystemRights, $InheritanceFlags, $PropagationFlags, $AccessControlType 
 +$Acl.RemoveAccessRule($RuleToRemove) 
 + 
 +# Apply rule 
 +Set-Acl -Path "\\fileserver\public\gbi\berechtigungsaudit\test" -AclObject $Acl 
 + 
 +Write-Output "After Remove:" 
 +get-acl -path "\\fileserver\public\gbi\berechtigungsaudit\test" | %{ $_.Access | %{ "$($_.IdentityReference); $($_.FileSystemRights); $($_.IsInherited)"}
 </code> </code>
 +
 +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: Der ACL-Eintrag wird auf untergeordnete Ordner (Container) vererbt.
 +  * ObjectInherit: Der ACL-Eintrag wird auf untergeordnete Dateien (Objekte) vererbt.
 +  * 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: Die Vererbung wird nur eine Ebene tief angewendet. Der Eintrag wird auf die direkte untergeordnete Ebene vererbt, aber die untergeordneten Objekte vererben diese Berechtigungen nicht weiter.
 +  * InheritOnly: Der ACL-Eintrag gilt nicht für das übergeordnete Objekt selbst, sondern nur für untergeordnete Objekte.
 +
 +====Icacls====
  
 Auch [[Windows]] unterstützt granulare Berechtigungseinstellungen. Auch [[Windows]] unterstützt granulare Berechtigungseinstellungen.
acl.1726577532.txt.gz · Zuletzt geändert: 2024/09/17 14:52 von jango