Privilegi di amministrazione: differenze tra le versioni

estese sezioni
mNessun oggetto della modifica
(estese sezioni)
Riga 8: Riga 8:
su -
su -
</pre>
</pre>
Verrà richiesta la password di '''root''' e sarà eseguito l’accesso.
Verrà richiesta la password di '''root''' e sarà eseguito l’accesso. È necessario però che il suo account sia attivo, e lo è con un'installazione con le impostazioni di default.


Noterete che il prompt della [[shell]] è cambiato, passando da:
Noterete che il prompt della [[shell]] è cambiato, passando da:
Riga 22: Riga 22:


Per essere precisi è stata avviata una nuova [[shell]] di login, e le è stato assegnato il controllo della console virtuale o del terminale (all'interno di una sessione grafica) utilizzato.<br/>
Per essere precisi è stata avviata una nuova [[shell]] di login, e le è stato assegnato il controllo della console virtuale o del terminale (all'interno di una sessione grafica) utilizzato.<br/>
L'opzione (''trattino'') <code>-</code> (anche nelle forme <code>-l</code> e <code>--login</code>) dopo il comando <code>su</code> serve appunto ad avviare una shell di login, che utilizza un ambiente pulito, ereditando soltanto le variabili d'ambiente <code>$TERM</code>, <code>$COLORTERM</code>, <code>$DISPLAY</code> e <code>$XAUTHORITY</code>. Queste ultime due permettono a [[root]] di accedere al server grafico associato all'utente che ha invocato <code>su</code>, se presente e attivo.<br/>
L'opzione <code>-</code> (''trattino'', oppure nelle forme <code>-l</code> e <code>--login</code>) dopo il comando <code>su</code> serve appunto ad avviare una shell di login, che utilizza un ambiente pulito, ereditando soltanto le variabili d'ambiente <code>$TERM</code>, <code>$COLORTERM</code>, <code>$DISPLAY</code> e <code>$XAUTHORITY</code>. Queste ultime due permettono a [[root]] di accedere al server grafico associato all'utente che ha invocato <code>su</code>, se presente e attivo.<br/>
Alcune variabili d'ambiente però non sono mai ereditate (<code>$HOME</code>, <code>$SHELL</code>, <code>$USER</code>, <code>$LOGNAME</code>, <code>$PATH</code> e <code>$IFS</code>) ed altre (come <code>$LD_PRELOAD</code> e <code>$LD_DEBUG_OUTPUT</code>) non hanno effetto per ragioni di sicurezza.
Alcune variabili d'ambiente però non sono mai ereditate (<code>$HOME</code>, <code>$SHELL</code>, <code>$USER</code>, <code>$LOGNAME</code>, <code>$PATH</code> e <code>$IFS</code>) ed altre (come <code>$LD_PRELOAD</code> e <code>$LD_DEBUG_OUTPUT</code>) non hanno effetto per ragioni di sicurezza.


Riga 36: Riga 36:




Un'altra possibilità è effettuare direttamente un login come [[root]] per lo stretto necessario a eseguire i comandi che richiedono i privilegi di amministratore. È '''sconsigliato''' da interfaccia grafica, per via dell'elevato numero di applicazioni che riceverebbero tali privilegi.
Un'altra possibilità è effettuare direttamente un login come [[root]] per lo stretto necessario a eseguire i comandi che richiedono i privilegi di amministratore. Ovviamente anche questo metodo richiede che l'account di '''root''' sia attivo.


Si può invece passare a una console virtuale non utilizzata (per esempio '''/dev/tty1'''), effettuare il login come '''root''', eseguire i soli comandi per cui sono necessari i privilegi di amministratore e poi effetuare subito dopo il logout, ritornando alla propria console virtuale o comunque a quella utilizzata dal server grafico.
È '''sconsigliato''' effettuare un login da interfaccia grafica, per via dell'elevato numero di applicazioni che riceverebbero i privilegi di amministratore. Si può invece passare a una console virtuale non utilizzata (per esempio '''/dev/tty2'''), effettuare il login come '''root''', eseguire i soli comandi per cui sono necessari i privilegi di amministratore e poi effetuare subito dopo il logout, ritornando alla propria console virtuale o comunque a quella utilizzata dal server grafico.


Per esempio, ecco la procedura per passi:
Per esempio, ecco la procedura per passi:
* digitare <code>Ctrl-Alt-F1</code> per passare a '''tty1''';
* premere <code>Ctrl-Alt-F2</code> per passare a '''tty2''';
* inviare la combinazione '''SysRq+K''' digitando <code>Alt-R Sist-k</code> (oppure <code>Alt-Stamp-k</code>) per generare una nuova console sicura, terminando tutte le eventuali applicazioni collegate;
* (in presenza di più persone con accesso al sistema, o se la console '''tty2''' è stata usata in precedenza) inviare la combinazione '''SysRq+K''' premendo <code>Alt-R Sist-k</code> (oppure <code>Alt-Stamp-k</code>) per generare una nuova console sicura, terminando tutte le eventuali applicazioni collegate;
* effettuare il login con '''root''' e la password corrispondente;  
* effettuare il login con '''root''' e la password corrispondente;  
* digitare i comandi che richiedono privilegi di amministratore, e soltanto quelli ('''non''' usare la [[shell]] per altre attività!);
* digitare i comandi che richiedono privilegi di amministratore, e soltanto quelli ('''non''' usare la [[shell]] per altre attività!);
* uscire con <code>exit</code> per terminare la shell;
* uscire con <code>exit</code> o premendo <code>Ctrl-d</code> per terminare la shell;
* digitare <code>Alt-Freccia destra</code> per passare alla console successiva, e ripetere fino a tornare a quella di partenza.<br/>
* premere <code>Alt+FrecciaSinistra</code> per passare alla console precedente, e ripetere fino a tornare a quella di partenza o eventualmente al proprio server grafico.
Questo metodo, anche se molto più laborioso degli altri, è l'unico sicuro se l'account dell'utente utilizzato per <code>su</code> o <code>sudo</code> è stato compromesso, e ha il vantaggio di appoggiarsi unicamente sulla sicurezza del sistema.


Questo metodo, anche se molto più laborioso degli altri, è l'unico sempre '''sicuro''' anche se l'account dell'utente utilizzato per eseguire <code>su</code> o <code>sudo</code> fosse stato compromesso, perché ha il vantaggio di appoggiarsi unicamente sulla sicurezza del sistema.
Come ultima alternativa, è possibile anche ricorrere a [[sudo]] allo scopo di eseguire un comando come utente [[root]], che di default chiede la propria password, contrariamente a <code>su</code>. Solitamente, se installato e configurato, si scrive [[sudo]] prima di ogni comando da eseguire come amministratore.
Se durante l'installazione si ha disabilitato l'account '''root''', l'utente creato è stato automaticamente aggiunto al gruppo '''sudo''' e questo è l'unico modo per ottenere '''privilegi di amministratore'''.


Come ultima alternativa, è possibile anche ricorrere a [[sudo]] allo scopo di eseguire un comando come utente [[root]], che di default chiede la propria password, contrariamente a <code>su</code>. Solitamente, dopo averlo installato e configurato, si scrive [[sudo]] prima di ogni comando da eseguire come amministratore.<br/>
Per esempio:
Per esempio:
<pre>
<pre>
3 581

contributi