attr - atributos estendidos em objetos do sistema de arquivos XFS
attr [ -LRSq ] -s attrname [ -V attrvalue ] pathname
attr [ -LRSq ] -g attrname pathname
attr [ -LRSq ] -r attrname pathname
attr [ -LRSq ] -l pathname
Os atributos estendidos implementam a capacidade de um usuário anexar pares nome:valor a objetos dentro do sistema de arquivos XFS.
Este documento descreve o comando attr, que é mais compatível com o comando IRIX de mesmo nome. Ele é direcionado especificamente para usuários do sistema de arquivos XFS - para manipulação de atributos estendidos independentes do sistema de arquivos, consulte a documentação getfattr(1) e setfattr(1).
Os atributos estendidos podem ser usados para armazenar metainformações sobre o arquivo. Por exemplo, "conjunto de caracteres=kanji" pode dizer a um navegador de documentos para usar o conjunto de caracteres Kanji ao exibir esse documento e "miniatura=..." pode fornecer uma visão geral de resolução reduzida de uma imagem gráfica de alta resolução.
No sistema de arquivos XFS, os nomes podem ter até 256 bytes de comprimento, terminados pelo primeiro 0 byte. A intenção é que sejam nomes ASCII imprimíveis (ou outro conjunto de caracteres) para o atributo. Os valores podem ter até 64 KB de dados binários arbitrários.
Os atributos podem ser anexados a todos os tipos de inodes XFS: arquivos regulares, diretórios, links simbólicos, nós de dispositivo, etc.
O XFS usa 2 espaços de nomes de atributos separados associados a cada objeto do sistema de arquivos. Eles são os espaços de endereço raiz e usuário. O espaço de endereço raiz é acessível apenas para o superusuário, e apenas especificando um argumento sinalizador para a chamada de função. Outros usuários não verão ou poderão modificar atributos no espaço de endereço raiz. O espaço de endereço do usuário é protegido pelo mecanismo normal de permissões de arquivo, portanto, o proprietário do arquivo pode decidir quem pode ver e/ou modificar o valor dos atributos em qualquer arquivo específico.
O utilitário attr permite a manipulação de atributos estendidos associados a objetos do sistema de arquivos a partir de scripts de shell.
Existem quatro operações principais que attr pode realizar:
A opção -g attrname diz a attr para pesquisar o objeto nomeado e imprimir (para stdout) o valor associado a esse nome de atributo. Com o sinalizador -q, stdout será exatamente e apenas o valor do atributo, adequado para armazenamento diretamente em um arquivo ou processamento por meio de um comando canalizado.
A opção -l instrui attr a listar os nomes de todos os atributos associados ao objeto e o número de bytes no valor de cada um desses atributos. Com o sinalizador -q, stdout será uma lista simples apenas dos nomes de atributos, um por linha, adequado para entrada em um script.
A opção -r attrname diz a attr para remover um atributo com o nome dado do objeto se o atributo existir. Não há saída na conclusão bem-sucedida.
A opção -s attrname diz a attr para definir o atributo nomeado do objeto para o valor lido do stdin. Se já existir um atributo com esse nome, seu valor será substituído por este. Se ainda não existir um atributo com esse nome, será criado um com esse valor. Com o sinalizador -V attrvalue, o atributo será definido para ter um valor de attrvalue e stdin não será lido. Com o sinalizador -q, stdout não será usado. Sem o sinalizador -q, uma mensagem mostrando o nome do atributo e o valor inteiro será impressa.
Quando a opção -L for fornecida e o objeto nomeado for um link simbólico, opere nos atributos do objeto referenciado pelo link simbólico. Sem essa opção, opere nos atributos do próprio link simbólico.
Quando a opção -R for fornecida e o processo tiver os privilégios apropriados, opere no namespace do atributo root em vez do namespace do atributo USER.
A opção -S é semelhante, exceto que especifica o uso do namespace do atributo security.
Quando a opção -q é fornecida, attr tentará ficar quieto. Ele emitirá mensagens de erro (para stderr), mas não imprimirá mensagens de status (para stdout).
Os programas padrão de arquivamento/intercâmbio de arquivo tar(1) e cpio(1) não irão arquivar ou restaurar atributos estendidos, enquanto o xfsdump( 8) o programa irá.
A opção de lista presente na versão IRIX deste comando não é suportada. getfattr fornece um mecanismo para recuperar todos os nomes de atributos.
Andreas Gruenbacher, <andreas.gruenbacher@gmail.com> e a equipe de desenvolvimento do SGI XFS, <linux-xfs@oss.sgi.com>.
Por favor, envie seus relatórios de bug ou comentários para <https://savannah.nongnu.org/bugs/?group=attr> ou <acl-devel@nongnu.org> .
getfattr(1), setfattr(1), attr_get(3), attr_set(3), attr_multi(3), attr_remove(3), attr(5), xfsdump(8)