Der er mange metoder, du kan bruge til at konfigurere adgangskontrollister (ACL’er). En af disse metoder er ved hjælp af kommandolinjeværktøj som Icacls.exe. PHP-hosters bruger ofte kommandolinjen til at konfigurere ACL’er. Du kan dog også oprette adgangskontrolliste ved hjælp af filen Manifest.xml. Dette er de systemer, der ofte bruges under installationen af ​​en app med brug af Web Deployment Tool (WDT) eller gennem brugen af ​​Microsoft Web Platform Installer (Web PI).


WDT er forudkonfigureret til at installere alle filer og mapper uden at ændre nogen form for allerede eksisterende tilladelse. I flertal af tilfælde betyder det, at appen kun har en læst ret til adgang til de filer og mapper, der er installeret. Hvis din app kræver, at den er skrevet til en fil eller et bibliotek, kan du stave de bestemte filer eller mapper ud med en setAcl-kommando i filen Manifest.xml. SetAclResourceType-komponenterne specificerer, om stien står for en fil eller et bibliotek.

XMLCopy

For at bekræfte, at du giver adgangskontrolliste til det rigtige bibliotek, skal du også implementere en skjult begrænsning i forhold til AppPath, hvor den er konfigureret og opsat.

XMLCopy

Hvis du ikke konfigurerer ACL på en bestemt fil eller et bibliotek, vil ACL muligvis være konfigureret til at give læseadgang til filen eller biblioteket som standard. ACL’erne er nøjagtige, og derfor giver en adgang ikke i det væsentlige en læseadgang. Hvis du skal skrive til en fil eller katalog, skal du indarbejde “læse, skrive”. Når du skal liste filerne i et bibliotek, skal du inkorporere “ListDirectory”. Vær opmærksom på, at skriveadgang ikke indebærer ændringsret. Hvis du har brug for at ændre filerne, så snart de er skrevet til disk, skal du klart konfigurere ændringsadgangen.

Der er et par tilladelser, der er fusioner af andre tilladelser; for eksempel giver tilladelse til “Ændring” personen ret til “Læs”, “Skriv”, “Udfør” og “Slet”.

At tilbyde læsning, eksekvering og skriveadgang til MyApp filstrukturkatalog for klienten Prøve, inkorporer nedenstående linje til din Manifest.xml-fil:

XMLCopy

Sådan konfigureres adgangskontrollisterne på tråden MyApp / upload for at tillade anonyme klienter at uploade indhold skal du integrere nedenstående linje i din Manifest.xml fil:

XMLCopy

Vær opmærksom på, at anonymousAuthenticationUser er et specifikt symbol, der ofte løses til dit anonyme autentificerings-id-opsætning. At tilbyde læseadgang til MyAppData mappe til app pool-identiteten, integrer nedenstående linje til Manifest.xml fil:

XMLCopy

Vær opmærksom på, at setAclUser ikke bruges her. Den forudindstillede værdi til dette er Application Pool Identity; derfor kan du muligvis udelade den linje.

Vær opmærksom på, at det tages som en enorm sikkerhedsrisiko at tilbyde “Skriv” eller “Ændre” adgang til hele apptræet gennem applikationen af ​​ACL i roden af ​​applikationen. ACL’er burde være meget begrænsende og kornede, men på ingen måde begrænse apps’ernes funktionalitet.

Hvis du er vidende om UNIX- eller Linux-tilladelser, er privilegierne her relateret til “Ejer” -rettigheder på disse platforme. Selvom gruppe- og globale tilladelser kan konfigureres gennem en masse ACL’er eksternt af WDT, er de eneste tilladelser, der er konfigureret i dette tilfælde kategorien “Ejer” af tilladelser. Diagrammet nedenfor illustrerer Windows-operativsystemets modstykker til en række Linux-bitmaskerede tilladelser:

Linux

Eksempel på brugerrettigheder og beskrivelser

fileSystemRights Enum

  • Navneområde: System.Security.AccessControl
  • Assemblies: System.IO.FileSystem.AccessControl.dll, mscorlib.dll
  • Definition: Dette definerer adgangstilladelsen til brug ved udvikling af adgangs- og revisionsregler.
  • Denne liste indeholder et FlagsAttribute-element, der tillader en bitvis sammenlægning af dens medlemsværdier.

C #Kopi

[System.Flags]
[System.Security.SecurityCritical]

publicenum FileSystemRights

  • Arv: Objekt -> ValueType -> Enum -> FileSystemRights
  • Egenskaber: FlagsAttribute, SecurityCriticalAttribute

eksempler

Koden nedenfor er en illustration, der bruger FullControl-listen til at stave en adgangsregel og derefter fjerne adgangsreglen fra en fil. Du skal angive en gyldig bruger- eller gruppekonto for at kunne udføre det eksempel, vi har vist her.

C # Copy

using System;
anvendelse System.IO;
anvendelse System.Security.AccessControl;

namespace FileSystemExample
{
klasse FileExample
{
publicstaticvoid Main ()
{
prøve
{
string fileName = "test.xml";

Console.WriteLine ("Tilføjelse af adgangskontrolindgang for"
+ filnavn);

// Føj adgangskontrolposten til filen.
AddFileSecurity (filnavn, @ "DomainNameAccountName",
FileSystemRights.ReadData, AccessControlType.Allow);

Console.WriteLine ("Fjernelse af adgangskontrolindgang fra"
+ filnavn);

// Fjern adgangskontrolposten fra filen.
RemoveFileSecurity (filnavn, @ "DomainNameAccountName",
FileSystemRights.ReadData, AccessControlType.Allow);

Console.WriteLine ( "Udført.");
}
fangst (undtagelse e)
{
Console.WriteLine (e);
}
}

// Tilføjer en ACL-post i den specificerede fil for den specificerede konto.
publicostatvoid AddFileSecurity (strengfilnavn, strengkonto,
FileSystemRights rettigheder, AccessControlType controlType)
{


// Få et FileSecurity-objekt, der repræsenterer
// aktuelle sikkerhedsindstillinger.
FileSecurity fSecurity = File.GetAccessControl (filnavn);

// Føj FileSystemAccessRule til sikkerhedsindstillingerne.
fSecurity.AddAccessRule (ny FileSystemAccessRule (konto,
rettigheder, kontroltype));

// Indstil de nye adgangsindstillinger.
File.SetAccessControl (filnavn, fSecurity);

}

// Fjerner en ACL-post på den specificerede fil for den specificerede konto.
publicostatvoid RemoveFileSecurity (strengfilnavn, strengkonto,
FileSystemRights rettigheder, AccessControlType controlType)
{

// Få et FileSecurity-objekt, der repræsenterer
// aktuelle sikkerhedsindstillinger.
FileSecurity fSecurity = File.GetAccessControl (filnavn);

// Fjern FileSystemAccessRule fra sikkerhedsindstillingerne.
fSecurity.RemoveAccessRule (ny FileSystemAccessRule (konto,
rettigheder, kontroltype));

// Indstil de nye adgangsindstillinger.
File.SetAccessControl (filnavn, fSecurity);

}
}
}

For Internet Information Services (IIS) – specifik ACL-installationsvejledning, se nedenfor:

Sådan indstilles ACL’er

Der er mange måder, du kan indstille dine ACL’er via skallen. Afhandlinger inkluderer brug af kommandolinjeværktøjer som Icacls.exe. Denne artikel koncentrerer sig om Web Deployment Tool manifest (XML) -mekanisme, der kan bruges til at konfigurere ACL’er. Dette bruges, når du installerer en app via Web Deployment Tool eller Web Platform Installer.

For at tilbyde læse-, eksekverings- og skrivetilladelser til MyApp-filsystemkataloget for brugeren Foo, skal du integrere linjen nedenfor til filen Manifest.xml:

XMLCopy

Hvis du vil konfigurere ACL på stien MyApp / Upload til at give anonyme brugere mulighed for at uploade indhold, skal du integrere linjerne herunder i din Manifest.xml-fil:

XMLCopy

Vær opmærksom på, at anonymousAuthenticationUser er en bestemt token, der bestemmer din konfigurerede anonyme autentificeringsidentitet.

For at give læseadgang til MyAppData-mappen til applikationspuljenes identitet skal du inkorporere nedenstående kommando til filen Manifest.xml:

XMLCopy

Vær opmærksom på, at setAclUser ikke bruges her. (Den indstillede værdi ud af boksen for dette er Application Pool Identity).

Token anonymousAuthenticationUser måles rutinemæssigt op til den identitet, som websitet har oprettet, og som vil blive brugt til anonym godkendelse. Mens denne identitet er konfigureret af webstedsadministratoren, er det bedste at gøre ved at bruge anonymAuthenticationUser til PHP-applikationer og ikke at bruge setAclUser til Microsoft ASP.NET-applikationer, bortset fra at din applikation har et særligt krav for en bruger til at administrere filret).

PHP-apps udføres ofte som den anonyme bruger på grund af den kendsgerning, at FastCGI-indstillingerne ofte bruger efterligningen til at være sandt (udført som anonym bruger). ASP.NET-apps udføres dybest set som arbejdsprocesidentitet (applikationspuljeidentitet). Hvis setAclUser ikke er stavet, bruger den anonymeAuthenticationUser appens Application Pool Identity til at repræsentere identiteten til tilladelse.

Afsluttende kommentar

FileSystemRights-listerne angiver, hvilke filsystemhandlinger der er tilladt for en bestemt brugerkonto, og hvilke filsystemprocedurer, der er revideret for en bestemt brugerkonto.

Brug listen FileSystemRights, når du vil generere en adgangsregel med kategorien FileSystemAccessRule, eller når du vil generere en revisionsregel med kategorien FileSystemAuditRule.

Denne liste består af en masse værdier for rettigheder i granuleret struktur og mange værdier, der er en blanding af disse granulære værdier. Det er enklere at bruge fusionsværdier som FullControl, Læs og Skriv, i stedet for at stave hver elementværdi individuelt.

Screenshots

Sådan indstilles ACL'er gennem filen Manifest.xml i IIS

Sådan indstilles ACL'er gennem filen Manifest.xml i IIS

Sådan indstilles ACL'er gennem filen Manifest.xml i IIS

Sådan indstilles ACL'er gennem filen Manifest.xml i IIS

Tjek disse top 3 bedste webhostetjenester

FastComet

Startpris:
$ 2,95


Pålidelighed
9.7


Prisfastsættelse
9.5


Brugervenlig
9.7


Support
9.7


Funktioner
9.6

Læs anmeldelser

Besøg FastComet

A2 Hosting

Startpris:
$ 3,92


Pålidelighed
9.3


Prisfastsættelse
9,0


Brugervenlig
9.3


Support
9.3


Funktioner
9.3

Læs anmeldelser

Besøg A2 Hosting

ChemiCloud

Startpris:
$ 2,76


Pålidelighed
10


Prisfastsættelse
9.9


Brugervenlig
9.9


Support
10


Funktioner
9.9

Læs anmeldelser

Besøg ChemiCloud

Relaterede artikler om, hvordan man gør

  • Sådan konfigureres, installeres og distribueres ASP.NET Core til IIS
    mellemprodukt
  • Sådan deaktiveres sårbarheden ved indstillingsmetoden i IIS og Apache
    mellemprodukt
  • Sådan implementeres en Blazor-applikation på IIS
    mellemprodukt
  • Sådan konfigureres IIS Application Pool (Windows) i Plesk
    mellemprodukt
  • Sådan implementeres IIS og ASP.NET med Puppet Module
    mellemprodukt
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me