O sistema de arquivos /sys
(sysfs) é um pouco especial; muitas operações não são possíveis, por exemplo, criar ou remover um arquivo. Alterar as permissões e propriedade de um arquivo ou definir uma ACL é permitido; que permite ao administrador do sistema permitir que certos usuários ou grupos acessem certos pontos de entrada do kernel.
Não há nenhum caso especial que restrinja um arquivo que é inicialmente somente leitura para todos, desde que seja alterado para ser gravável para alguns. É o que o Vim faz quando é frustrado em sua tentativa inicial de salvar.
As permissões são a única coisa que impede que o arquivo seja gravado. Assim, se forem alterados, o conteúdo do arquivo é alterado, o que, para um parâmetro do módulo, altera o valor do parâmetro dentro do módulo.
Normalmente, isso não tem nenhuma implicação de segurança, pois somente o root pode alterar as permissões no arquivo, e o root pode alterar o valor em /dev/kmem
ou carregando outro módulo. É algo para se ter em mente se o root estiver restrito ao carregar módulos ou acessar a memória física diretamente por uma estrutura de segurança como o SELinux; a estrutura de segurança precisa ser configurada para proibir alterações de permissão problemáticas em /sys
. Se um usuário receber a propriedade do arquivo, ele poderá alterar as permissões; para evitar isso, se um usuário específico precisar de permissão para ler um parâmetro, não chown
o arquivo para esse usuário, mas defina uma ACL ( setfacl -m u:alice:r /sys/…
).