Riproduzione di avvocato del diavolo ,
Supponiamo di acquistare un server Linux da un provider di hosting. Mi viene data una password per l'utente root e mi è stato detto che posso accedere usando SSH. L'unico scopo di questo server è quello di ospitare uno o più siti Web, possibilmente con SSL correttamente configurato e abilitato.
Il mio primo accesso sarà per installare (tramite un sistema di gestione dei pacchetti ben recensito e ampiamente utilizzato) e configurare (modificando i file in /etc
) un server web, un database, alcuni software che non accedono a Internet, e un server di applicazioni web (PHP-FPM, Unicorn, quel genere di cose). La gestione dei pacchetti era abbastanza intelligente da configurare utenti non privilegiati per l'esecuzione dei server, una configurazione che mantengo. Successivamente ho inserito alcuni file del sito Web (PHP, Ruby, Python, ecc.) In /var/www
e chown
tutti i file che appartengono allo stesso utente non privilegiato che viene eseguito come processo del server Web (ad esempio www-data
).
In futuro, solo io effettuerò l'accesso e solo per aggiornare i file del sito Web e per eseguire alcune operazioni di sola lettura come la revisione dei registri.
Nello scenario sopra riportato, c'è qualche motivo di sicurezza motivo , perché dovrei creare un account utente non root da usare piuttosto che dall'utente root? Dopotutto, quasi tutti i comandi verrebbero eseguiti con sudo
se avessi effettuato l'accesso con un utente non root.
Nota: capisco che ci sono molti motivi di sicurezza e non sicurezza universalmente convincenti per usare utenti non-root. Non sto chiedendo la necessità di account utente non-root. La mia domanda è strettamente limitata alla configurazione limitata che descrivo sopra. Penso che questo sia rilevante perché anche se il mio esempio è limitato, è molto comune.