Os atributos manipulados por lsattr
/ chattr
no Linux e alguns deles podem ser armazenados por alguns sistemas de arquivos (ext2 / 3/4, reiserfs, JFS, OCFS2, btrfs, XFS, nilfs2, hfsplus ...) e até mesmo consultados sobre CIFS / SMB (quando com extensões POSIX) são sinalizadores. Apenas bits que podem ser ativados ou desativados para desativar ou ativar um atributo (como imutável ou arquivo ...). Como eles são armazenados é específico do sistema de arquivos, mas geralmente como um registro de 16/32/64 bits no inode.
A lista completa de sinalizadores é encontrada em sistemas de arquivos nativos do Linux (ext2 / 3/4, btrfs ...), embora nem todos os sinalizadores se apliquem a todos os FS, e para outros FS não nativos, o Linux tenta mapear -los para recursos equivalentes no sistema de arquivos correspondente. Por exemplo, o sinalizador simmutable conforme armazenado por OSX em Os sistemas de arquivos HFS + são mapeados para o sinalizador imutável correspondente no Linux chattr
. Qual sinalizador é suportado por qual sistema de arquivos é dificilmente documentado. Muitas vezes, ler o código-fonte do kernel é a única opção.
Atributos estendidos, por outro lado, como definido com setfattr
ou attr
no Linux armazenam mais de sinalizadores. Eles também são anexados a um arquivo e são pares de chave / valor que podem ser (tanto valores quanto chaves) matrizes arbitrárias de bytes (embora com limitação de tamanho em alguns sistemas de arquivos).
A chave pode ser, por exemplo: system.posix_acl_access
ou user.rsync.%stat
. O namespace system
é reservado para o sistema (você não alteraria as ACLs POSIX com setfattr
, mas mais com setfacl
, as ACLs POSIX seriam armazenadas como atributos estendidos pelo menos em alguns sistemas de arquivos), enquanto o namespace user
pode ser usado por aplicativos (aqui rsync
usa-o para sua opção --fake-super
, para armazenar informações sobre propriedade ou permissões quando você não é superusuário).
Mais uma vez, como eles são armazenados é específico do sistema de arquivos. Veja WikiPedia para mais informações .