Quando scrivo uno script di shell, in cui alcuni ma non tutti i comandi in esso necessitano dei privilegi di superutente, dovrei
aggiungere sudo a quei comandi che richiedono privilegi di superutente ed eseguire lo script della shell senza sudo, oppure
non aggiungere sudo a quei comandi che richiedono i privilegi di superutente, ma eseguire lo script della shell con sudo?
Nel secondo modo dovrò fornire la mia password una sola volta, ma tutti i comandi nello script verranno eseguiti con i privilegi di superutente, inclusi quelli che non sono necessari.
Nel primo modo potrei dover fornire la mia password più volte per diversi comandi sudo, mentre i privilegi di superutente sono concessi solo a quei comandi che ne hanno bisogno.
Per motivi di sicurezza, il primo modo è migliore. Per comodità, il secondo modo è migliore.
Ho pensato di adottare il primo modo. Quindi devo affrontare l'inconveniente di fornire le mie password a più comandi sudo nello script della shell.
-
Uno script ben scritto rileverà se era in esecuzione con le giuste autorizzazioni e non chiamerebbe affatto sudo, ma ci sono molti script cattivi
Quindi dovrei usare il secondo modo? Se è così,
come posso scrivere "lo script rileverà se era in esecuzione con le giuste autorizzazioni e non chiamasse affatto sudo"?
come posso migliorare la sua sicurezza per evitare il problema di dare privilegi di superutente ai comandi che non ne hanno bisogno quando eseguo lo script con sudo?
- Questo semplice approccio avrebbe il meglio di entrambi: aggiungere sudo ai comandi che ne hanno solo bisogno ed eseguire lo script con o senza sudo a seconda che io voglia comodità o sicurezza? Questo approccio ha qualche problema?
Grazie.
sudo
avesse una cache di credenziali predefinita. È disabilitato sulla tua piattaforma?