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 dire 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 dire 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 attribcomando 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-ItemPropertye 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 chflagse lspodem 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 lsattrcomando e modificados, quando possível, pelo chattrcomando. 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 chattrpodem ser alterados. Os sistemas de arquivos que suportam pelo menos alguns atributos incluem ext4 , XFS e btrfs .

Atributos de arquivo comuns suportados por muitos sistemas de arquivos Linux comuns
Atributo bandeira lsattr opção chattr Semântica e lógica
Sem atimeatualizaçõ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