Permissões e Atributos do Arquivo do Windows

14

Estou um pouco confuso sobre todo o esquema de segurança de arquivos do Windows. Eu venho de um background unix, então eu não entendo completamente o relacionamento entre as configurações de permissões / segurança de arquivos e os atributos; especificamente somente leitura, que um arquivo pode ter.

Por exemplo, se eu fizer login como administrador em minha caixa e tiver um arquivo que permita controle total para os administradores, mas tiver o atributo somente leitura definido, isso significa que não posso gravar nesse arquivo? Existe alguma maneira além de remover o atributo somente leitura que eu posso escrever em arquivos que supostamente tenho controle total? Se não, qual a vantagem de ter controle total se você não tem controle total?

    
por prelic 19.06.2013 / 16:51

3 respostas

16

As permissões de arquivo determinam o acesso que você tem a um arquivo - exatamente como parece. Controle total permite criar, excluir, anexar, alterar permissões, alterar atributos, etc.

Arquivos e pastas podem ter atributos adicionais, bem como arquivos na maioria dos sistemas de arquivos * nix. "Oculto" vem à mente como um exemplo disso em ambas as plataformas.

No Windows, alguns dos atributos adicionais incluem sistema, somente leitura, arquivo morto, criptografado e compactado. Quando você tem controle total (ou modificação), você pode alterar esses atributos, mas, como descobriu, um arquivo somente leitura é somente leitura, mesmo para alguém com controle total. Embora o controle total lhe permita alterar os atributos de um arquivo, ele não os substitui automaticamente, assim como ls não mostra ao usuário root um arquivo oculto por padrão no * nix.

    
por 19.06.2013 / 16:57
3

Uma permissão é um controle de segurança. Um atributo se aplica independentemente da entidade de segurança que está tentando a operação.

Existem muito mais atributos do que você vê no prompt de comando. Estes incluem se o arquivo é um link, criptografado, diretório (um tipo de arquivo) e integridade (baixa, média ou alta).

Constantes de atributos de arquivo
link

FILE_ATTRIBUTE_ARCHIVE 32 (0x20)

A file or directory that is an archive file or directory. Applications typically use this attribute to mark files for backup or removal .

FILE_ATTRIBUTE_COMPRESSED 2048 (0x800)

A file or directory that is compressed. For a file, all of the data in the file is compressed. For a directory, compression is the default for newly created files and subdirectories.

FILE_ATTRIBUTE_DEVICE 64 (0x40)

This value is reserved for system use.

FILE_ATTRIBUTE_DIRECTORY 16 (0x10)

The handle that identifies a directory.

FILE_ATTRIBUTE_ENCRYPTED 16384 (0x4000)

A file or directory that is encrypted. For a file, all data streams in the file are encrypted. For a directory, encryption is the default for newly created files and subdirectories.

FILE_ATTRIBUTE_HIDDEN 2 (0x2) The file or directory is hidden. It is not included in an ordinary directory listing.

FILE_ATTRIBUTE_INTEGRITY_STREAM 32768 (0x8000)

The directory or user data stream is configured with integrity (only supported on ReFS volumes). It is not included in an ordinary directory listing. The integrity setting persists with the file if it's renamed. If a file is copied the destination file will have integrity set if either the source file or destination directory have integrity set.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: This flag is not supported until Windows Server 2012.

FILE_ATTRIBUTE_NORMAL 128 (0x80)

A file that does not have other attributes set. This attribute is valid only when used alone.

FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 8192 (0x2000)

The file or directory is not to be indexed by the content indexing service.

FILE_ATTRIBUTE_NO_SCRUB_DATA 131072 (0x20000)

The user data stream not to be read by the background data integrity scanner (AKA scrubber). When set on a directory it only provides inheritance. This flag is only supported on Storage Spaces and ReFS volumes. It is not included in an ordinary directory listing.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: This flag is not supported until Windows 8 and Windows Server 2012.

FILE_ATTRIBUTE_OFFLINE 4096 (0x1000)

The data of a file is not available immediately. This attribute indicates that the file data is physically moved to offline storage. This attribute is used by Remote Storage, which is the hierarchical storage management software. Applications should not arbitrarily change this attribute.

FILE_ATTRIBUTE_READONLY 1 (0x1)

A file that is read-only. Applications can read the file, but cannot write to it or delete it. This attribute is not honored on directories. For more information, see You cannot view or change the Read-only or the System attributes of folders in Windows Server 2003, in Windows XP, in Windows Vista or in Windows 7.

FILE_ATTRIBUTE_REPARSE_POINT 1024 (0x400)

A file or directory that has an associated reparse point, or a file that is a symbolic link.

FILE_ATTRIBUTE_SPARSE_FILE 512 (0x200)

A file that is a sparse file.

FILE_ATTRIBUTE_SYSTEM 4 (0x4)

A file or directory that the operating system uses a part of, or uses exclusively.

FILE_ATTRIBUTE_TEMPORARY 256 (0x100)

A file that is being used for temporary storage. File systems avoid writing data back to mass storage if sufficient cache memory is available, because typically, an application deletes a temporary file after the handle is closed. In that scenario, the system can entirely avoid writing the data. Otherwise, the data is written after the handle is closed.

FILE_ATTRIBUTE_VIRTUAL 65536 (0x10000)

This value is reserved for system use.

    
por 19.06.2013 / 18:23
-6

Fornecerei uma resposta mais longa, mas em geral os atributos aos quais você está se referindo são configurações legadas em um arquivo dos dias do sistema de arquivos DOS FAT. O FAT armazena esses atributos como parte das entradas do diretório do sistema de arquivos para um arquivo. O NTFS possui seu próprio conjunto de atributos que encapsulam os atributos mais antigos. Por padrão, qualquer usuário com acesso a arquivos pode modificá-los e pode ser usado para evitar sobregravações acidentais de dados.

As permissões são específicas do NTFS e as alterações nessas permissões podem ser controladas por usuário (para que um usuário não possa mudar de somente leitura para gravável). Especificamente, se você observar o comando attrib (que mostra as adições legadas e os novos atributos, como integridade em versões posteriores do Windows), é possível ter acesso somente leitura configurado nas permissões, mas não ter somente leitura definida nos atributos. Também é interessante (se não importante) entender que, devido à abstração, é tecnicamente possível ativar os atributos legados (armazenados no atributo $ standard_information NTFS) sem que eles necessariamente apareçam na GUI normal.

Especificamente, as permissões de controle total permitem que você altere qualquer permissão NTFS. Definir o atributo somente leitura evita alterações até que seja removido.

Os atributos FAT terão precedência sobre os atributos NTFS nas janelas.

    
por 19.06.2013 / 16:59