rootfs readonly vs overlayfs

1

Precisamos ter rootfs de somente leitura devido a problemas de segurança (nenhuma alteração no FS no flash é possível). Outra partição gravável pode ser usada com rootfs somente leitura (para logs, por exemplo).

Em termos de simplicidade, preferimos usar o modo somente leitura rootfs, em vez de overlayfs . No entanto, receio que algum processo possa tentar escrever em rootfs e depois falhará.

Nosso sistema é muito pequeno e mínimo, tem apenas um ou dois processos. (mas também contém selinux e auditd ).

É sempre possível no sistema Linux usar rootfs como somente leitura ou é necessário usar overlayfs em tais casos?

    
por ransh 08.10.2018 / 19:55

1 resposta

2

Definitivamente, é possível ter um sistema de arquivos raiz somente de leitura. É inconveniente e incomum em instalações do tipo servidor ou estação de trabalho, mas é comum em sistemas embarcados. Um sistema de arquivos raiz somente leitura tem algumas limitações, principalmente:

  • Você não pode atualizar nada nem adicionar nenhum software (exceto em outros sistemas de arquivos, por exemplo, com um /usr/local em uma partição separada). Isso não é uma preocupação se você atualizar, substituindo a imagem filessytem no flash como um todo.
  • Você não pode reconfigurar nada em /etc . Isso significa que qualquer configuração deve ser feita de uma maneira diferente; soluções típicas incluem:

    • através de arquivos em outros diretórios (e, em seguida, você precisa configurar o aplicativo de maneira diferente);
    • por meio de um link simbólico para outro diretório;
    • dinamicamente, por ex. por um script que lê variáveis de configuração da NVRAM.

    Dados afetados típicos incluem a configuração da rede, o fuso horário, as informações de autenticação do usuário, etc.

  • Se implantar a mesma imagem do sistema de arquivos em várias máquinas, será necessário organizar todos os dados específicos da máquina para que fiquem fora da imagem do sistema de arquivos. Isso inclui o nome do host, a chave do servidor SSH, etc.
  • Você normalmente precisa de alguns arquivos graváveis persistentes em /var , como logs em /var/log e o arquivo de semente aleatório (necessário, a menos que você tenha um RNG de hardware).
por 08.10.2018 / 21:59

Tags