FileSystemRights FileSystemRights FileSystemRights FileSystemRights Enum

Definizione

Definisce i diritti di accesso da utilizzare quando si creano regole di accesso e di controllo.Defines the access rights to use when creating access and audit rules.

Questa enumerazione ha un attributo FlagsAttribute che consente una combinazione bit per bit dei valori del relativo membro.

public enum class FileSystemRights
[System.Flags]
[System.Security.SecurityCritical]
public enum FileSystemRights
type FileSystemRights = 
Public Enum FileSystemRights
Ereditarietà
FileSystemRightsFileSystemRightsFileSystemRightsFileSystemRights
Attributi

Campi

AppendData AppendData AppendData AppendData 4

Specifica il diritto di aggiungere dati alla fine di un file.Specifies the right to append data to the end of a file.

ChangePermissions ChangePermissions ChangePermissions ChangePermissions 262144

Specifica il diritto di modificare le regole di sicurezza e di controllo associate a un file o a una cartella.Specifies the right to change the security and audit rules associated with a file or folder.

CreateDirectories CreateDirectories CreateDirectories CreateDirectories 4

Specifica il diritto di creare una cartella. Questo diritto richiede il valore Synchronize.Specifies the right to create a folder This right requires the Synchronize value.

CreateFiles CreateFiles CreateFiles CreateFiles 2

Specifica il diritto di creare un file.Specifies the right to create a file. Questo diritto richiede il valore Synchronize.This right requires the Synchronize value.

Delete Delete Delete Delete 65536

Specifica il diritto di eliminare una cartella o un file.Specifies the right to delete a folder or file.

DeleteSubdirectoriesAndFiles DeleteSubdirectoriesAndFiles DeleteSubdirectoriesAndFiles DeleteSubdirectoriesAndFiles 64

Specifica il diritto di eliminare una cartella e qualsiasi file contenga.Specifies the right to delete a folder and any files contained within that folder.

ExecuteFile ExecuteFile ExecuteFile ExecuteFile 32

Specifica il diritto di eseguire il file di un'applicazione.Specifies the right to run an application file.

FullControl FullControl FullControl FullControl 2032127

Specifica 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.Specifies the right to exert full control over a folder or file, and to modify access control and audit rules. Questo valore rappresenta il diritto di eseguire qualsiasi operazione su un file ed è la combinazione di tutti i diritti inclusi nell'enumerazione.This value represents the right to do anything with a file and is the combination of all rights in this enumeration.

ListDirectory ListDirectory ListDirectory ListDirectory 1

Specifica il diritto di leggere il contenuto di una directory.Specifies the right to read the contents of a directory.

Modify Modify Modify Modify 197055

Specifica 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.Specifies the right to read, write, list folder contents, delete folders and files, and run application files. Questo diritto comprende il diritto ReadAndExecute, il diritto Write e il diritto Delete.This right includes the ReadAndExecute right, the Write right, and the Delete right.

Read Read Read Read 131209

Specifica il diritto di aprire e copiare delle cartelle o dei file in sola lettura.Specifies the right to open and copy folders or files as read-only. Questo diritto comprende il diritto ReadData, il diritto ReadExtendedAttributes, il diritto ReadAttributes e il diritto ReadPermissions.This right includes the ReadData right, ReadExtendedAttributes right, ReadAttributes right, and ReadPermissions right.

ReadAndExecute ReadAndExecute ReadAndExecute ReadAndExecute 131241

Specifica il diritto di aprire e copiare delle cartelle o dei file in sola lettura e di eseguire dei file di applicazione.Specifies the right to open and copy folders or files as read-only, and to run application files. Questo diritto comprende il diritto Read e il diritto ExecuteFile.This right includes the Read right and the ExecuteFile right.

ReadAttributes ReadAttributes ReadAttributes ReadAttributes 128

Specifica il diritto di aprire e copiare attributi di file system da una cartella o da un file.Specifies the right to open and copy file system attributes from a folder or file. Questo valore specifica ad esempio il diritto di visualizzare la data di creazione o di modifica del file,For example, this value specifies the right to view the file creation or modified date. ma non il diritto di leggere i dati, attributi di file system estesi o le regole di accesso e di controllo.This does not include the right to read data, extended file system attributes, or access and audit rules.

ReadData ReadData ReadData ReadData 1

Specifica il diritto di aprire e copiare un file o una cartella,Specifies the right to open and copy a file or folder. 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.This does not include the right to read file system attributes, extended file system attributes, or access and audit rules.

ReadExtendedAttributes ReadExtendedAttributes ReadExtendedAttributes ReadExtendedAttributes 8

Specifica il diritto di aprire e copiare attributi di file system estesi da una cartella o da un file.Specifies the right to open and copy extended file system attributes from a folder or file. Questo valore specifica ad esempio il diritto di visualizzare informazioni su autore e contenuto,For example, this value specifies the right to view author and content information. ma non il diritto di leggere i dati, gli attributi di file system o le regole di accesso e di controllo.This does not include the right to read data, file system attributes, or access and audit rules.

ReadPermissions ReadPermissions ReadPermissions ReadPermissions 131072

Specifica il diritto di aprire e copiare le regole di accesso e di controllo da una cartella o da un file,Specifies the right to open and copy access and audit rules from a folder or file. ma non il diritto di leggere i dati, gli attributi di file system e gli attributi di file system estesi.This does not include the right to read data, file system attributes, and extended file system attributes.

Synchronize Synchronize Synchronize Synchronize 1048576

Specifica se l'applicazione può attendere un handle di file per la sincronizzazione con il completamento di un'operazione di I/O.Specifies whether the application can wait for a file handle to synchronize with the completion of an I/O operation. Questo valore viene impostato automaticamente quando si consente l'accesso ed escluso automaticamente quando si nega l'accesso.This value is automatically set when allowing access and automatically excluded when denying access.

TakeOwnership TakeOwnership TakeOwnership TakeOwnership 524288

Specifica il diritto di modificare il proprietario di una cartella o di un file.Specifies the right to change the owner of a folder or file. Il proprietario di una risorsa ha accesso completo ad essa.Note that owners of a resource have full access to that resource.

Traverse Traverse Traverse Traverse 32

Specifica il diritto di visualizzare l'elenco del contenuto di una cartella e di eseguire applicazioni in essa contenute.Specifies the right to list the contents of a folder and to run applications contained within that folder.

Write Write Write Write 278

Specifica il diritto di creare cartelle e file e di aggiungere o rimuovere dati dai file.Specifies the right to create folders and files, and to add or remove data from files. Questo diritto comprende il diritto WriteData, il diritto AppendData, il diritto WriteExtendedAttributes e il diritto WriteAttributes.This right includes the WriteData right, AppendData right, WriteExtendedAttributes right, and WriteAttributes right.

WriteAttributes WriteAttributes WriteAttributes WriteAttributes 256

Specifica il diritto di aprire e scrivere attributi di file system in una cartella o un file.Specifies the right to open and write file system attributes to a folder or file. Non è tuttavia prevista la possibilità di scrivere dati, attributi estesi o regole di accesso e di controllo.This does not include the ability to write data, extended attributes, or access and audit rules.

WriteData WriteData WriteData WriteData 2

Specifica il diritto di aprire e scrivere in un file o una cartella,Specifies the right to open and write to a file or folder. ma non il diritto di aprire e scrivere attributi di file system, attributi di file system estesi o regole di accesso e di controllo.This does not include the right to open and write file system attributes, extended file system attributes, or access and audit rules.

WriteExtendedAttributes WriteExtendedAttributes WriteExtendedAttributes WriteExtendedAttributes 16

Specifica il diritto di aprire e scrivere attributi di file system estesi in una cartella o un file.Specifies the right to open and write extended file system attributes to a folder or file. Non è tuttavia prevista la possibilità di scrivere dati, attributi o regole di accesso e di controllo.This does not include the ability to write data, attributes, or access and audit rules.

Esempi

Nell'esempio seguente viene usata FileSystemRights l'enumerazione per specificare una regola di accesso e quindi rimuovere la regola di accesso da un file.The following example uses the FileSystemRights enumeration to specify an access rule and then remove the access rule from a file. È necessario specificare un utente valido o un account di gruppo per eseguire questo esempio.You must supply a valid user or group account to run this example.

using namespace System;
using namespace System::IO;
using namespace System::Security::AccessControl;

// Adds an ACL entry on the specified file for the specified account.

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(gcnew 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.

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);

    // Remove the FileSystemAccessRule from the security settings. 
    fSecurity->RemoveAccessRule(gcnew FileSystemAccessRule
                                      (account,rights, controlType));

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

int main()
{
    try
    {
        String^ fileName = "test.xml";

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

        // Add the access control entry to the file.
        AddFileSecurity(fileName, "MYDOMAIN\\MyAccount", 
            FileSystemRights::ReadData, AccessControlType::Allow);

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

        // Remove the access control entry from the file.
        RemoveFileSecurity(fileName, "MYDOMAIN\\MyAccount", 
            FileSystemRights::ReadData, AccessControlType::Allow);

        Console::WriteLine("Done.");
    }
    catch (Exception^ ex)
    {
        Console::WriteLine(ex->Message);
    }
}

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);

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

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

        }
    }
}
Imports System.IO
Imports System.Security.AccessControl



Module FileExample

    Sub Main()
        Try
            Dim fileName As String = "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 e As Exception
            Console.WriteLine(e)
        End Try

    End Sub


    ' Adds an ACL entry on the specified file for the specified account.
    Sub AddFileSecurity(ByVal fileName As String, ByVal account As String, _
        ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)
  
        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)

        ' Add the FileSystemAccessRule to the security settings. 
        Dim accessRule As FileSystemAccessRule = _
            New FileSystemAccessRule(account, rights, controlType)

        fSecurity.AddAccessRule(accessRule)

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

    End Sub


    ' Removes an ACL entry on the specified file for the specified account.
    Sub RemoveFileSecurity(ByVal fileName As String, ByVal account As String, _
        ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)

        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)

        ' Remove the FileSystemAccessRule from the security settings. 
        fSecurity.RemoveAccessRule(New FileSystemAccessRule(account, _
            rights, controlType))

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

    End Sub
End Module

Commenti

L' FileSystemRights enumerazione specifica quali azioni file System sono consentite per un determinato account utente e quali file System azioni vengono controllate per un determinato account utente.The FileSystemRights enumeration specifies which file system actions are allowed for a particular user account and which file system actions are audited for a particular user account.

Usare l' FileSystemRights enumerazione durante la creazione di una regola di FileSystemAccessRule accesso con la classe o quando si crea una FileSystemAuditRule regola di controllo con la classe.Use the FileSystemRights enumeration when creating an access rule with the FileSystemAccessRule class or when creating an audit rule with the FileSystemAuditRule class.

Questa enumerazione contiene diversi valori di diritti di sistema granulari e diversi valori che sono una combinazione di tali valori granulari.This enumeration contains several granular system rights values and several values that are a combination of those granular values. È più facile usare i valori di combinazione, ad FullControlesempio Read, e Write, anziché specificare separatamente ogni valore di componente.It is easier to use the combination values such as FullControl, Read, and Write, rather than specifying each component value separately.

I diritti CreateFiles Synchronize e richiedono il diritto. CreateDirectoriesThe CreateDirectories and CreateFiles rights require the Synchronize right. Se il valore non viene impostato in modo Synchronize esplicito durante la creazione di un file o di una directory, viene impostato automaticamente.If you do not explicitly set the Synchronize value when creating a file or directory, it is set automatically for you.

Si applica a