FileSystemRights Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define os direitos de acesso a serem usados ao criar regras de acesso e auditoria.
Essa enumeração dá suporte a uma combinação bit a bit dos valores de membro.
public enum class FileSystemRights
[System.Flags]
public enum FileSystemRights
[System.Flags]
[System.Security.SecurityCritical]
public enum FileSystemRights
[<System.Flags>]
type FileSystemRights =
[<System.Flags>]
[<System.Security.SecurityCritical>]
type FileSystemRights =
Public Enum FileSystemRights
- Herança
- Atributos
Campos
AppendData | 4 | Especifica o direito de acrescentar dados ao final de um arquivo. |
ChangePermissions | 262144 | Especifica o direito de alterar as regras de segurança e auditoria associadas a um arquivo ou pasta. |
CreateDirectories | 4 | Especifica o direito de criar uma pasta Esse direito requer o |
CreateFiles | 2 | Especifica o direito de criar um arquivo. Esse direito requer o |
Delete | 65536 | Especifica o direito de excluir uma pasta ou arquivo. |
DeleteSubdirectoriesAndFiles | 64 | Especifica o direito de excluir uma pasta e os arquivos contidos nessa pasta. |
ExecuteFile | 32 | Especifica o direito de executar um arquivo de aplicativo. |
FullControl | 2032127 | Especifica o direito de exercer controle total sobre uma pasta ou arquivo e de modificar o controle de acesso e regras de auditoria. Esse valor representa o direito de fazer qualquer coisa com um arquivo e é a combinação de todos os direitos desta enumeração. |
ListDirectory | 1 | Especifica o direito de ler o conteúdo de um diretório. |
Modify | 197055 | Especifica o direito de ler, gravar, listar conteúdo da pasta, excluir pastas e arquivos e executar arquivos de aplicativo. Essa permissão inclui os direitos ReadAndExecute, Write e Delete. |
Read | 131209 | Especifica o direito de abrir e copiar pastas ou arquivos como somente leitura. Essa permissão inclui os direitos ReadData, ReadExtendedAttributes, ReadAttributes e ReadPermissions. |
ReadAndExecute | 131241 | Especifica o direito de abrir e copiar pastas ou arquivos como somente leitura e executar arquivos de aplicativo. Essa permissão inclui os direitos Read e ExecuteFile. |
ReadAttributes | 128 | Especifica o direito de abrir e copiar os atributos de sistema de arquivos de um arquivo ou pasta. Por exemplo, esse valor especifica o direito de exibir a data de criação ou modificação do arquivo. Isso não inclui o direito de ler dados, atributos estendidos do sistema de arquivos ou regras de acesso e auditoria. |
ReadData | 1 | Especifica o direito de abrir e copiar um arquivo ou pasta. Isso não inclui o direito de ler atributos do sistema de arquivos, atributos estendidos do sistema de arquivos ou regras de acesso e auditoria. |
ReadExtendedAttributes | 8 | Especifica o direito de abrir e copiar os atributos estendidos do sistema de arquivos de um arquivo ou pasta. Por exemplo, esse valor especifica o direito de exibir informações de conteúdo e autor. Isso não inclui o direito de ler dados, atributos do sistema de arquivos ou regras de acesso e auditoria. |
ReadPermissions | 131072 | Especifica o direito de abrir e copiar regras de acesso e auditoria de um arquivo ou pasta. Isso não inclui o direito de ler dados, atributos do sistema de arquivos e atributos estendidos do sistema de arquivos. |
Synchronize | 1048576 | Especifica se o aplicativo pode aguardar um identificador de arquivo sincronizar com a conclusão de uma operação de E/S. Esse valor é definido automaticamente ao permitir o acesso e excluído automaticamente ao negar o acesso. |
TakeOwnership | 524288 | Especifica o direito de alterar o proprietário de um arquivo ou pasta. Observe que os proprietários de um recurso têm acesso completo a esse recurso. |
Traverse | 32 | Especifica o direito de listar o conteúdo de uma pasta e executar aplicativos contidos nessa pasta. |
Write | 278 | Especifica o direito de criar pastas e arquivos e de adicionar ou remover dados dos arquivos. Essa permissão inclui os direitos WriteData, AppendData, WriteExtendedAttributes e WriteAttributes. |
WriteAttributes | 256 | Especifica o direito de abrir e gravar os atributos de sistema de arquivos em um arquivo ou pasta. Isso não inclui a capacidade de gravar dados, atributos estendidos ou regras de acesso e auditoria. |
WriteData | 2 | Especifica o direito de abrir e gravar em um arquivo ou pasta. Isso não inclui o direito de abrir e gravar atributos do sistema de arquivos, atributos estendidos do sistema de arquivos ou regras de acesso e auditoria. |
WriteExtendedAttributes | 16 | Especifica o direito de abrir e gravar os atributos estendidos do sistema de arquivos em um arquivo ou pasta. Isso não inclui a capacidade de gravar dados, atributos ou regras de acesso e auditoria. |
Exemplos
O exemplo a seguir usa a FileSystemRights
enumeração para especificar uma regra de acesso e, em seguida, remover a regra de acesso de um arquivo. Você deve fornecer uma conta de grupo ou de usuário válida para executar este exemplo.
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
Comentários
A FileSystemRights enumeração especifica quais ações do sistema de arquivos são permitidas para uma conta de usuário específica e quais ações do sistema de arquivos são auditadas para uma conta de usuário específica.
Use a FileSystemRights enumeração ao criar uma regra de acesso com a FileSystemAccessRule classe ou ao criar uma regra de auditoria com a FileSystemAuditRule classe .
Essa enumeração contém vários valores granulares de direitos do sistema e vários valores que são uma combinação desses valores granulares. É mais fácil usar os valores de combinação, como FullControl
, Read
e Write
, em vez de especificar cada valor de componente separadamente.
Os CreateDirectories
direitos e CreateFiles
exigem o Synchronize
direito. Se você não definir explicitamente o Synchronize
valor ao criar um arquivo ou diretório, ele será definido automaticamente para você.
Aplica-se a
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de