Digamos que eu tenha um aplicativo que possua plugins, daemons, etc.
Agora ele também precisa salvar suas configurações e configurações de plug-ins. A maioria dos aplicativos usa a pasta pessoal dos usuários, mas não é segura. Algo (um usuário mal-intencionado, um hacker, um vírus, etc.) pode excluir essas configurações. Gsettings os armazena em um banco de dados binário na pasta do usuário, o KDE os salva no formato INI na pasta pessoal do usuário, mas essas opções ainda não são seguras porque algo pode excluí-las facilmente. De que outra forma posso protegê-lo?
Armazená-los como root ou outro usuário também não é uma opção, pois você sabe que precisa conceder permissão para cada pequena alteração feita, o que é muito chato.
Responder1
Infelizmente estas são suas opções:
- Diretório inicial do usuário
- /etc
- Algum outro local designado no sistema
Não existe um lugar mágico onde você possa salvar seus dados onde eles ficarão imunes a um ataque potencial. É por isso que deve seguir boas práticas de segurança em toda a máquina e fazer uso de firewall e não instalar software que não tenha sido devidamente verificado anteriormente.
Houve muito poucos vírus em comparação com o Windows e o OSX, em parte devido ao design no Unix/Linux e em parte devido às implantações menores desses sistemas operacionais.
Responder2
Salve as configurações no diretório inicial do usuário.
Sim, um malware em execução enquanto o usuário poderá excluí-los. Então? Um malware que infecta a conta do usuário pode fazer tudo o que seu aplicativo pode fazer. A única maneira de ocultar algo do malware é executar com algum privilégio que o malware não possui. Isso exigiria que o usuário concedesse privilégios elevados ao seu aplicativo. Se o seu aplicativo obtém privilégios elevados, por que não todos os aplicativos? Portanto, o malware obteria os mesmos privilégios de qualquer maneira.
Você só pode perder se tentar colocar as configurações em um local fora do padrão. Se o usuário se importar, ele fará backup de seu diretório inicial. Se o usuário fizer backup de seu diretório inicial, ele esperará que todas as suas configurações sejam salvas. Se eles restaurarem o diretório inicial e suas configurações não estiverem lá, você terá usuários irritados e a culpa será sua.
Coloque as configurações onde o usuário espera, no diretório inicial. Esse é o lugar mais seguro.