Linux incorporado somente leitura

1

Atualmente estou trabalhando em um dispositivo Linux embutido, estou tentando tornar o sistema de arquivos somente de leitura, o que é bastante fácil de fazer, mas o aplicativo requer acesso de leitura / gravação aos arquivos na pasta /etc (principalmente passwd e shadow) esses não podem ser movidos para a partição persist e vinculados novamente a /etc . Eu vim com uma "solução", não tenho certeza se é uma coisa boa ou não, e é por isso que estou postando aqui.

Basicamente, o que estou planejando fazer é tornar todo o sistema de arquivos somente leitura (incluindo /etc ) e, em seguida, adicionar um arquivo /etc/rw-files que conterá caminhos para arquivos que exigem privilégios de leitura / gravação para o dispositivo funcionar devidamente. em cada inicialização eu terei um script passando por essa lista de arquivos e pastas e remontá-los como leitura / gravação usando algo como isto:

mount --bind directory directory 
mount -o remount,rw directory directory 

eu testei isso, ele está funcionando e o dispositivo está se comportando como deveria, mas ainda não tenho certeza da qualidade dele.

    
por TheBrash 21.12.2016 / 10:27

1 resposta

2

Você poderia analisar o uso do sistema de arquivos overlayfs . Em uma única montagem, você pode sobrepor uma pequena readwrite /etc na parte superior de sua grande readonly /etc e apresentar um sistema de arquivos mesclado no qual as alterações serão preservadas no diretório superior da camada readwrite. É tudo automático, então você não precisa identificar quais arquivos precisam ser lidos.

    
por 21.12.2016 / 10:53