Questa documentazione è stata archiviata e non viene gestita.

Enumerazione FileSystemRights

Nota: questa enumerazione è stata introdotta con .NET Framework versione 2.0.

Definisce i diritti di accesso da utilizzare quando si creano regole di accesso e di controllo.

Questa enumerazione ha un attributo FlagsAttribute che consente una combinazione bit per bit dei valori dei membri.

Spazio dei nomi: System.Security.AccessControl
Assembly: mscorlib (in mscorlib.dll)

[FlagsAttribute] 
public enum FileSystemRights
/** @attribute FlagsAttribute() */ 
public enum FileSystemRights
FlagsAttribute 
public enum FileSystemRights

 Nome membroDescrizione
AppendDataSpecifica il diritto di aggiungere dati alla fine di un file. 
ChangePermissionsSpecifica il diritto di modificare le regole di protezione e di controllo associate a un file o a una cartella. 
CreateDirectoriesSpecifica il diritto di creare una cartella.  

Questo diritto richiede il valore Synchronize. Tenere presente che se non si imposta in modo esplicito il valore Synchronize quando si crea un file o una cartella, il valore Synchronize verrà impostato automaticamente.

CreateFilesSpecifica il diritto di creare un file.  

Questo diritto richiede il valore Synchronize. Tenere presente che se non si imposta in modo esplicito il valore Synchronize quando si crea un file o una cartella, il valore Synchronize verrà impostato automaticamente.

DeleteSpecifica il diritto di eliminare una cartella o un file.  
DeleteSubdirectoriesAndFilesSpecifica il diritto di eliminare una cartella e qualsiasi file contenga. 
ExecuteFileSpecifica il diritto di eseguire il file di un'applicazione. 
FullControlSpecifica il diritto di esercitare il controllo completo su una cartella o un file e di modificare le regole di controllo di accesso e le regole di controllo. Questo valore rappresenta il diritto di eseguire qualsiasi operazione su un file ed è la combinazione di tutti i diritti inclusi nell'enumerazione. 
ListDirectorySpecifica il diritto di leggere il contenuto di una directory. 
ModifySpecifica il diritto di leggere, scrivere e visualizzare un elenco del contenuto di una cartella, di eliminare cartelle e file e di eseguire file di applicazioni. Questo diritto comprende il diritto ReadAndExecute, il diritto Write e il diritto Delete
ReadSpecifica il diritto di aprire e copiare delle cartelle o dei file in sola lettura. Questo diritto comprende il diritto ReadData, il diritto ReadExtendedAttributes, il diritto ReadAttributes e il diritto ReadPermissions
ReadAndExecuteSpecifica il diritto di aprire e copiare delle cartelle o dei file in sola lettura e di eseguire dei file di applicazione. Questo diritto comprende il diritto Read e il diritto ExecuteFile
ReadAttributesSpecifica il diritto di aprire e copiare attributi di file system da una cartella o da un file. Questo valore specifica ad esempio il diritto di visualizzare la data di creazione o di modifica del file, ma non il diritto di leggere i dati, attributi di file system estesi o le regole di accesso e di controllo. 
ReadDataSpecifica il diritto di aprire e copiare un file o una cartella, ma non il diritto di leggere gli attributi di file system, gli attributi di file system estesi o le regole di accesso e di controllo. 
ReadExtendedAttributesSpecifica il diritto di aprire e copiare attributi di file system estesi da una cartella o da un file. Questo valore specifica ad esempio il diritto di visualizzare informazioni su autore e contenuto, ma non il diritto di leggere i dati, gli attributi di file system o le regole di accesso e di controllo. 
ReadPermissionsSpecifica il diritto di aprire e copiare le regole di accesso e di controllo da una cartella o da un file, ma non il diritto di leggere i dati, gli attributi di file system e gli attributi di file system estesi.  
SynchronizeSpecifica se l'applicazione può attendere un handle di file per la sincronizzazione con il completamento di un'operazione di I/O. 

Il valore Synchronize viene impostato automaticamente quando l'accesso viene consentito ed escluso automaticamente quando l'accesso viene negato.

Questo valore è necessario per poter esercitare il diritto di creare un file o una cartella. Tenere presente che se non si imposta in modo esplicito questo valore quando si crea un file, il valore verrà impostato automaticamente.

TakeOwnershipSpecifica il diritto di modificare il proprietario di una cartella o di un file. Il proprietario di una risorsa ha accesso completo ad essa. 
TraverseSpecifica il diritto di visualizzare l'elenco del contenuto di una cartella e di eseguire applicazioni in essa contenute. 
WriteSpecifica il diritto di creare cartelle e file e di aggiungere o rimuovere dati dai file. Questo diritto comprende il diritto WriteData, il diritto AppendData, il diritto WriteExtendedAttributes e il diritto WriteAttributes.  
WriteAttributesSpecifica il diritto di aprire e scrivere attributi di file system in una cartella o un file. Non è tuttavia prevista la possibilità di scrivere dati, attributi estesi o regole di accesso e di controllo. 
WriteDataSpecifica il diritto di aprire e scrivere in un file o una cartella, ma non il diritto di aprire e scrivere attributi di file system, attributi di file system estesi o regole di accesso e di controllo. 
WriteExtendedAttributesSpecifica il diritto di aprire e scrivere attributi di file system estesi in una cartella o un file. Non è tuttavia prevista la possibilità di scrivere dati, attributi o regole di accesso e di controllo. 

L'enumerazione FileSystemRights specifica quali azioni è consentito eseguire sul file system per un particolare account utente e quali azioni riguardanti il file system vengono controllate per un particolare account utente.

Utilizzare l'enumerazione FileSystemRights quando si crea una regola di accesso con la classe FileSystemAccessRule o quando si crea una regola di controllo con la classe FileSystemAuditRule.

Questa enumerazione contiene numerosi valori di diritti di sistema granulari e svariati valori che sono una combinazione di quei valori granulari. È più semplice utilizzare i valori di combinazione come ad esempio FullControl, Read e Write anziché specificare il valore di ogni componente separatamente.

Nell'esempio di codice riportato di seguito viene utilizzata l'enumerazione FileSystemRights per specificare una regola di accesso e successivamente rimuoverla da un file. È necessario fornire un account utente o di gruppo valido per eseguire questo esempio.

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

namespace FileSystemExample
{
    class FileExample
    {
        public static void Main()
        {
            try
            {
                string fileName = "test.xml";

                Console.WriteLine("Adding access control entry for " 
                    + fileName);

                // Add the access control entry to the file.
                AddFileSecurity(fileName, @"DomainName\AccountName",
                    FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine("Removing access control entry from " 
                    + fileName);

                // Remove the access control entry from the file.
                RemoveFileSecurity(fileName, @"DomainName\AccountName", 
                    FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine("Done.");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }

        // Adds an ACL entry on the specified file for the specified account.
        public static void AddFileSecurity(string fileName, string account, 
            FileSystemRights rights, AccessControlType controlType)
        {
            

            // Get a FileSecurity object that represents the 
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(fileName);

            // Add the FileSystemAccessRule to the security settings. 
            fSecurity.AddAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // Set the new access settings.
            File.SetAccessControl(fileName, fSecurity);

        }

        // Removes an ACL entry on the specified file for the specified account.
        public static void RemoveFileSecurity(string fileName, string account, 
            FileSystemRights rights, AccessControlType controlType)
        {

            // Get a FileSecurity object that represents the 
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(fileName);

            // Add the FileSystemAccessRule to the security settings. 
            fSecurity.RemoveAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // Set the new access settings.
            File.SetAccessControl(fileName, fSecurity);

        }
    }
}

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

.NET Framework

Supportato in: 2.0
Mostra: