Hoe u ACL's kan instel deur die Manifest.xml-lêer in IIS
Daar is baie metodes wat u kan gebruik om toegangsbeheerlyste (ACL's) op te stel. Een van hierdie metodes is die gebruik van 'n opdraglyninstrument, soos die Icacls.exe. PHP-hosters gebruik gewoonlik die opdragreël om ACL's op te stel. U kan egter ook toegangsbeheerlys opstel met behulp van die Manifest.xml-lêer. Dit is die stelsels wat gereeld gebruik word tydens die installering van 'n app met die gebruik van die Web Deployment Tool (WDT) of deur die gebruik van die Microsoft Web Platform Installer (Web PI).
Die WDT is vooraf gekonfigureer om alle lêers en kaarte te installeer sonder om enige verandering aan enige bestaande toestemming aan te bring. In die meeste gevalle impliseer dit dat die app slegs 'n geleesde reg het om toegang te hê tot die lêers en kaarte wat geïnstalleer is. As dit nodig is dat u app na 'n lêer of gids geskryf word, kan u die spesifieke lêers of kaarte met 'n setAcl-opdrag binne die Manifest.xml-lêer uitspel. Die setAclResourceType-komponente spesifiseer of die pad vir 'n lêer of 'n gids staan.
0.5.0.1 Voorbeeld van gebruikersregte en beskrywings
0.7 C #kopie
0.8 C # Kopieer
0.9 Hoe om ACL's in te stel
Om te bevestig dat u toegangsbeheerlys aan die regte gids gee, moet u ook 'n verborge beperking implementeer met betrekking tot die AppPath waar dit opgestel en opgestel is.
As u versuim om ACL op 'n spesifieke lêer of gids te konfigureer, sal die ACL moontlik gekonfigureer word om standaardtoegang tot die lêer of gids te lees. Die ACL's is presies; 'n verlening van toegang bied dus nie in wese 'n leestoegang nie. As u na 'n lêer of gids moet skryf, moet u 'lees, skryf' insluit. As u die lêers in 'n gids moet lys, moet u 'ListDirectory' insluit. Wees bewus daarvan dat skryftoegang nie wysiging impliseer nie. As u die lêers moet verander sodra dit op die skyf geskryf is, moet u die wysigingstoegang duidelik opstel.
Daar is 'n paar toestemmings wat saamvoeg van ander regte; Byvoorbeeld, toestemming vir "Verander" gee die persoon die reg om "Lees", "Skryf", "Uit te voer" en "Verwyder".
Om toegang tot die lees-, uitvoerings- en skryftoegang aan te bied MyApp lêer struktuur gids vir die kliënt toets, neem die onderstaande reël in u Manifest.xml-lêer in:
Om die toegangsbeheerlyste op die draad te konfigureer MyApp / oplaai om anonieme kliënte inhoud toe te laat, integreer die onderstaande reël in u Manifest.xml lêer:
Let op dat anonymousAuthenticationUser 'n spesifieke teken is wat gereeld opgelos word vir u anonieme verifikasie-ID-opstelling. Om leestoegang tot die MyAppData gids vir die identiteit van die app-poel, integreer die lyn hieronder by die Manifest.xml lêer:
Let daarop dat die setAclUser nie hier gebruik word nie. Die vooraf ingestelde waarde hiervoor is Application Pool Identity; daarom sal u moontlik die lyn kan verlaat.
Wees bewus daarvan dat dit 'n groot veiligheidsrisiko is om toegang tot die hele appeboom "Skryf" of "Modifiseer" te bied deur die toepassing van die ACL aan die wortel van die toepassing. ACL's moet baie beperkend en korrelig van aard wees, maar die funksies van die programme op geen manier beperk nie.
As u vertroud is met UNIX- of Linux-toestemmings, hou die voorregte hier verband met toestemmings vir eienaars op daardie platforms. Alhoewel groep- en globale toestemmings deur baie ACL's buite die WDT gekonfigureer kan word, is die enigste regte wat in hierdie geval gekonfigureer is, die kategorie "Eienaar" van regte. Die onderstaande grafiek illustreer die Windows-bedryfstelsel-eweknieë van 'n aantal Linux-gemaskerde toestemmings:
Voorbeeld van gebruikersregte en beskrywings
Vergaderings: System.IO.FileSystem.AccessControl.dll, mscorlib.dll
Definisie: Dit definieer die toegangstoestemming om te gebruik wanneer toegang- en ouditreëls ontwikkel word.
Hierdie lys bevat 'n FlagsAttribute-element wat 'n bietjie wysheid van die lidwaardes moontlik maak.
erfenis: Object -> ValueType -> Enum -> FileSystemRights
eienskappe: VlaeAttribute, SecurityCriticalAttribute
Die onderstaande kode is 'n illustrasie wat die FullControl-lys gebruik om 'n toegangsreël uit te spel en dan die toegangsreël van 'n lêer weg te neem. U moet 'n geldige gebruiker- of groeprekening verskaf om die voorbeeld wat ons hier getoon het, uit te voer.
C # Kopieer
gebruik van System.IO;
gebruik van System.Security.AccessControl;
Console.WriteLine ("Toegangsbeheer-toegang toevoeg vir"
// Voeg die toegangsbeheer-item by die lêer.
AddFileSecurity (lêernaam, @ "DomainNameAccountName",
Console.WriteLine ("Toegangsbeheer-toegang verwyder"
// Verwyder die toegangsbeheer-item uit die lêer.
RemoveFileSecurity (lêernaam, @ "DomainNameAccountName",
Console.WriteLine ( "gebraai.");
vangs (uitsondering e)
// Voeg 'n ACL-inskrywing by in die gespesifiseerde lêer vir die gespesifiseerde rekening.
publicostatvoid AddFileSecurity (string-lêernaam, string-rekening,
FileSystemRights regte, AccessControlType controlType)
// Kry 'n FileSecurity-voorwerp wat die
// huidige sekuriteitsinstellings.
FileSecurity fSecurity = File.GetAccessControl (lêernaam);
// Voeg die FileSystemAccessRule by die sekuriteitsinstellings.
fSecurity.AddAccessRule (nuwe FileSystemAccessRule (rekening,
// Stel die nuwe toegangsinstellings in.
File.SetAccessControl (lêernaam, fSecurity);
// Verwyder 'n ACL-inskrywing op die gespesifiseerde lêer vir die gespesifiseerde rekening.
publicostatvoid RemoveFileSecurity (string-lêernaam, string-rekening,
// Verwyder die FileSystemAccessRule uit die sekuriteitsinstellings.
fSecurity.RemoveAccessRule (nuwe FileSystemAccessRule (rekening,
Vir internetinligtingsdienste (IIS) – spesifieke ACL-opstelgids, sien hieronder:
Hoe om ACL's in te stel
Daar is baie maniere waarop u u ACL's via die dop kan instel. Proefskrifte sluit in die gebruik van opdragreëlgereedskap soos Icacls.exe. Hierdie artikel konsentreer op die Web Deployment Tool manifest (XML) meganisme (XML) wat gebruik kan word om ACL's op te stel. Dit word gebruik wanneer u 'n app via die Web Deployment Tool of die Web Platform Installer installeer.
Om die lees-, uitvoerings- en skryftoestemmings aan die MyApp-lêerstelsel-gids vir Foo-gebruikers te bied, neem die onderstaande reël in die Manifest.xml-lêer in:
Om die ACL op die pad MyApp / Upload op te stel om anonieme gebruikers toe te laat om inhoud op te laai, integreer die reëls hieronder in u Manifest.xml-lêer:
Let op dat anonymousAuthenticationUser 'n spesifieke teken is wat u gekonfigureerde anonieme verifikasie-identiteit sal bepaal.
Om leestoegang tot die MyAppData-lêergids te gee vir die identiteit van die toepassingspoel, neem die opdrag hieronder in die Manifest.xml-lêer in:
Let daarop dat die setAclUser nie hier gebruik word nie. Die (waarde wat buite die kassie gestel word hiervoor is die Identiteitsaansoekpoel).
Die teken anonymousAuthenticationUser word gereeld gemeet aan die identiteit wat die webwerf opgestel het en wat gebruik sal word vir anonieme verifikasie. Alhoewel hierdie identiteit deur die webwerfadministrateur opgestel word, is die beste ding om anonymousAuthenticationUser vir PHP-toepassings te gebruik en nie setAclUser vir Microsoft ASP.NET-toepassings te gebruik nie, behalwe dat u toepassing 'n spesifieke vereiste het dat 'n gebruiker die lêer reg moet bestuur).
PHP-programme word gereeld as die anonieme gebruiker uitgevoer, omdat die FastCGI-instellings gewoonlik die nabootsing gebruik om waar te wees (uitgevoer as anonieme gebruiker). ASP.NET-apps word basies uitgevoer as die identiteit van die werkerproses (identiteit van die toepassingspoel). As setAclUser nie uitgespel word nie, gebruik die anonieme verifikasiegebruiker die program se toepassingspoel-identiteit om die identiteit vir magtiging voor te stel.
Die FileSystemRights-lyste stipuleer die handeling van lêerstelsels wat toegelaat word vir 'n spesifieke gebruikersrekening en watter lêerstelselprosedures word geoudit vir 'n spesifieke gebruikersrekening.
Gebruik die FileSystemRights-lys wanneer u 'n toegangsreël met die FileSystemAccessRule-kategorie wil genereer, of as u 'n ouditreël wil genereer met die FileSystemAuditRule-kategorie..
Hierdie lys bestaan ​​uit 'n klomp waardes van korrelstruktuurregte en baie waardes wat 'n mengsel van daardie korrelwaardes is. Dit is eenvoudiger om die samesmeltingswaardes soos FullControl, Read en Writing te gebruik, in plaas daarvan om elke elementwaarde afsonderlik uit te spel..