Diciamo che creo un dispositivo che contiene una scatola Linux incorporata (ad esempio, un Raspberry Pi). Dopo l'avvio, avvia l'applicazione principale progettata per fornire l'interfaccia utente per il dispositivo.
Il modo più semplice per produrne di più è semplicemente impostare tutto su un dispositivo specifico, impostare gli utenti, i privilegi, configurare il processo di avvio, installare il mio software e quindi creare un'immagine della scheda SD. L'installazione di quell'immagine su altre schede SD mi consente di ottenere i cloni identici del dispositivo originale, che ora posso spedire.
Tuttavia, questo può portare a una grave vulnerabilità. Dato che tutti gli utenti avranno esattamente la stessa password di root, basta un utente a capire (avendo accesso ai dispositivi fisici conta, per quanto ne so, per una sicurezza completamente compromessa), e che un utente potrebbe usare questo conoscenza per compromettere i dispositivi di altri utenti (il dispositivo dovrebbe essere utilizzato mentre è connesso a una rete)
Come si può mitigare questo rischio?
Il software deve anche conoscere la password di root (in quanto deve configurare alcuni registri hardware per le periferiche), quindi significa che devo compilare l'eseguibile per ciascuno dei dispositivi fisici separatamente con password di root separate e creare gli utenti su ciascun dispositivo separatamente, quindi riescono a copiare il software corretto sulla macchina corretta? Questo sembra un incubo per la gestione.