Atributo de arquivo - File attribute
Os atributos de arquivo são um tipo de metadados que descrevem e podem modificar como os arquivos e / ou diretórios em um sistema de arquivos se comportam. Atributos de arquivo típicos podem, por exemplo, indicar ou especificar se um arquivo é visível, modificável, compactado ou criptografado. A disponibilidade da maioria dos atributos de arquivo depende do suporte do sistema de arquivos subjacente (como FAT , NTFS , ext4 ) onde os dados de atributo devem ser armazenados junto com outras estruturas de controle. Cada atributo pode ter um de dois estados: definido e limpo. Os atributos são considerados distintos de outros metadados, como datas e horas, extensões de nome de arquivo ou permissões do sistema de arquivos . Além de arquivos, pastas , volumes e outros objetos do sistema de arquivos podem ter atributos.
DOS e Windows
Tradicionalmente, no DOS e no Microsoft Windows , os arquivos e pastas aceitavam quatro atributos:
- Arquivo (A): quando definido, indica que o arquivo de hospedagem foi alterado desde a últimaoperação de backup . O sistema de arquivos do Windows define este atributo em qualquer arquivo que foi alterado. O software de backup tem então a função de limpá-lo após um backup completo ou incremental bem-sucedido (não diferencial).
-
Oculto (H): quando definido, indica que o arquivo de hospedagem está oculto. Comandos do MS-DOS como
dir
e aplicativos do Windows como o File Explorer não mostram arquivos ocultos por padrão, a menos que seja solicitado a fazê-lo. -
Sistema (S): quando definido, indica que o arquivo de hospedagem é um arquivo de sistema crítico, necessário para o funcionamento adequado do computador. MS-DOS e Microsoft Windows usam-no para marcar arquivos de sistema importantes. Os comandos do MS-DOS
dir
e aplicativos do Windows como o File Explorer não mostram os arquivos do sistema por padrão, mesmo quando os arquivos ocultos são mostrados, a menos que seja solicitado. - Somente leitura (R): quando definido, indica que um arquivo não deve ser alterado. Ao abrir o arquivo, a API do sistema de arquivos geralmente não concede permissão de gravação ao aplicativo solicitante, a menos que o aplicativo a solicite explicitamente. Atributos somente leitura em pastas são geralmente ignorados, sendo usados para outra finalidade.
Conforme novas versões do Windows foram lançadas, a Microsoft adicionou ao inventário de atributos disponíveis no sistema de arquivos NTFS , incluindo, mas não se limitando a:
- Compactado (C): quando definido, o Windows compacta o arquivo de hospedagem no armazenamento. Para obter mais informações, consulte NTFS § Compressão de arquivo .
- Criptografado (E): quando definido, o Windows criptografa o arquivo de hospedagem durante o armazenamento para evitar o acesso não autorizado. Para obter mais informações, consulte NTFS § Criptografia .
- Não indexado por conteúdo (I): Quando definido, o serviço de indexação ou o Windows Search não inclui o arquivo de hospedagem em sua operação de indexação.
Outros atributos exibidos na coluna "Atributos" do Windows Explorer incluem:
- Diretório (D): a entrada é um subdiretório , contendo entradas de arquivo e diretório próprias.
- Ponto de nova análise (L): O arquivo ou diretório tem um ponto de nova análise associado ou é um link simbólico .
- Off-line (O): os dados do arquivo são fisicamente movidos para o armazenamento off-line (Armazenamento remoto).
- Sparse (P): O arquivo é um arquivo esparso , ou seja, seu conteúdo está parcialmente vazio e não contíguo.
- Temporário (T): O arquivo é usado para armazenamento temporário.
No DOS, OS / 2 e Windows, o attrib
comando em cmd.exe e command.com pode ser usado para alterar e exibir os quatro atributos de arquivo tradicionais. O File Explorer no Windows pode mostrar os sete atributos mencionados, mas não pode definir ou limpar o atributo System. O Windows PowerShell , que se tornou um componente do Windows 7 e posterior, apresenta dois comandos que podem ler e gravar atributos: Get-ItemProperty
e Set-ItemProperty
. Para alterar um atributo em um arquivo no Windows NT , o usuário deve ter as permissões apropriadas do sistema de arquivos, conhecidas como Gravar Atributos e Gravar Atributos Estendidos .
Unix e POSIX
Em sistemas Unix e semelhantes a Unix, incluindo sistemas em conformidade com POSIX , cada arquivo tem um 'modo' contendo sinalizadores de 9 bits que controlam as permissões de leitura, gravação e execução para cada um dos proprietários do arquivo, grupo e todos os outros usuários (consulte Permissões do sistema de arquivos §Permissões tradicionais do Unix para mais detalhes) mais os sinalizadores de bit setuid e setgid e um sinalizador de bit 'pegajoso' . O modo também especifica o tipo de arquivo (arquivo normal, diretório ou algum outro tipo especial).
4.4 BSD e derivados
No 4.4BSD e no 4.4BSD-Lite , os arquivos e diretórios (pastas) aceitavam quatro atributos que podiam ser definidos pelo dono do arquivo ou pelo superusuário (os atributos "Usuário") e dois atributos que só podiam ser definidos pelo superusuário ( os atributos do "Sistema"):
- (Usuário) No-dump : Quando definido, indica que o arquivo ou diretório não deve ser salvo durante uma operação de backup .
- (Usuário e Sistema) Imutável : Quando definido, indica que o arquivo ou diretório não deve ser alterado. As tentativas de abrir o arquivo para gravação, criar um arquivo no diretório, remover um arquivo do diretório, renomear um arquivo no diretório, renomear o arquivo ou diretório ou remover o arquivo ou diretório falharão com um erro de permissão.
- (Usuário e Sistema) Append-only : Quando definido, indica que o arquivo deve ser apenas anexado.
- (Usuário) Opaco : quando definido em um diretório, indica que o diretório é opaco quando visualizado por meio de uma pilha de união .
O FreeBSD adicionou alguns atributos adicionais, também suportados pelo DragonFly BSD :
- (Usuário e Sistema) Sem desvinculação : quando definido, indica que o arquivo ou diretório não deve ser renomeado ou removido. As tentativas de renomear ou remover o arquivo ou diretório falharão com um erro de permissão.
O FreeBSD também suporta:
- (Sistema) Sem arquivamento : Quando definido, indica que o arquivo ou diretório não deve ser arquivado.
- (Sistema) Instantâneo : Quando definido, indica que o arquivo ou diretório é um arquivo de instantâneo. Este atributo é mantido pelo sistema e não pode ser definido, nem mesmo pelo superusuário.
enquanto o DragonFly BSD suporta:
- (Usuário e Sistema) Sem histórico : Quando definido, indica que o histórico não deve ser retido para o arquivo ou diretório.
- (Usuário) Swapcache : Quando definido, indica que os dados do sistema de arquivos limpos para o arquivo, ou para o diretório e tudo o que está abaixo do diretório, devem ser armazenados em cache no espaço de troca em uma unidade de estado sólido .
- (Sistema) Swapcache : Quando definido, indica que os dados do sistema de arquivos limpos para o arquivo, ou para o diretório e tudo o que está abaixo do diretório, não devem ser armazenados em cache no espaço de troca em uma unidade de estado sólido.
- (Sistema) Arquivado : quando definido, indica que o arquivo ou diretório pode ser arquivado.
O NetBSD adicionou outro atributo, também compatível com o OpenBSD :
- (Sistema) Arquivado : quando definido, indica que o arquivo ou diretório está arquivado.
macOS adicionou três atributos:
- (Usuário) Oculto : Quando definido, indica que o arquivo ou diretório não deve, por padrão, ser exibido na GUI; ls irá exibi-lo, no entanto.
- (Sistema) Restrito : Quando definido, indica que o arquivo ou diretório será protegido pela Proteção de Integridade do Sistema
- (Usuário e Sistema) Compactado : atributo somente leitura para arquivos compactados usando HFS + Compression
Nesses sistemas, os comandos chflags
e ls
podem ser usados para alterar e exibir os atributos do arquivo. Para alterar um atributo "usuário" em um arquivo em sistemas operacionais derivados do 4.4BSD, o usuário deve ser o proprietário do arquivo ou o superusuário; para alterar um atributo "sistema", o usuário deve ser o superusuário.
Linux
O sistema operacional Linux pode suportar uma ampla gama de atributos de arquivo que podem ser listados pelo lsattr
comando e modificados, quando possível, pelo chattr
comando. Os programas podem examinar e alterar atributos usando operações ioctl .
Muitos sistemas de arquivos Linux suportam apenas um conjunto limitado de atributos e nenhum deles suporta todos os atributos que chattr
podem ser alterados. Os sistemas de arquivos que suportam pelo menos alguns atributos incluem ext4 , XFS e btrfs .
Atributo | bandeira lsattr | opção chattr | Semântica e lógica |
---|---|---|---|
Sem atime atualizações
|
A
|
+A,-A
|
o registro atime não é modificado quando o arquivo é lido / acessado. |
Append-only |
a
|
+a,-a
|
A gravação em arquivo é permitida apenas no modo anexar. |
Imutável |
i
|
+i,-i
|
Evita qualquer alteração no conteúdo ou metadados do arquivo: o arquivo / diretório não pode ser gravado, excluído, renomeado ou vinculado. |
Sem despejo |
d
|
+d,-d
|
O arquivo é ignorado pelo programa de despejo |
Exclusão segura |
s
|
+s,-s
|
Solicita que, ao serem excluídos, todos os blocos de dados do arquivo sejam preenchidos com zeros . |
Atualizações síncronas |
S
|
+S,-S
|
As alterações são gravadas de forma síncrona no meio de armazenamento do sistema de arquivos subjacente; equivalente à opção de montagem 'sync' para arquivos afetados. |
Veja também
Referências
links externos
- Definição de: Atributo DOS na PC Magazine
- Arquivos ocultos em sistemas operacionais do tipo Unix na Wayback Machine (arquivado em 17 de outubro de 2007)
- Constantes de atributo de arquivo da Microsoft
- Atributos de arquivo Win32