I sistemi operativi simili a UNIX (incluso Linux) usano un concetto chiamato separazione dei privilegi per garantire che il sistema rimanga sicuro. UNIX è stato progettato da zero come un sistema multiutente, ovvero è stato progettato in modo tale che molte persone possano utilizzare un computer che esegue UNIX contemporaneamente. Poiché la maggior parte degli utenti non deve essere in grado di modificare il sistema principale, solo l'amministratore di sistema dovrebbe avere quel privilegio. Quell'utente privilegiato viene tradizionalmente chiamato root . (Il root è molto simile all'amministratore in Windows.)
Questo ha senso su più livelli. Comunemente, un server Web o un altro processo che espone una porta ad altri computer (probabilmente dannosi) verrà eseguito come proprio utente (Apache viene eseguito come utente nobody
), in modo che anche se il programma del server Web viene violato, l'attaccante non può eliminare l'intera macchina abbastanza facilmente. Ha senso anche per le macchine per lo più monoutente come i desktop: se altri membri della tua famiglia, ad esempio, riescono in qualche modo a funzionare rm -rf /
( NON eseguirlo ), non avranno l'autorizzazione per eliminare tutti i file sul sistema , come lo farebbero se non esistesse una separazione dei privilegi.
Esistono diversi comandi che puoi utilizzare per elevare i tuoi privilegi. Il sudo
comando esiste per fornire temporaneamente privilegi a livello di root quando sono necessari per amministrare il sistema. Puoi anche usare i comandi gksudo
o su
. Quest'ultimo può essere utilizzato solo se conosci la password di root ed è una buona opzione se il tuo account non dispone dell'autorizzazione per l'usosudo
.
L'utente root può fare qualsiasi cosa su un sistema, quasi senza eccezioni. Quindi, anche se richiedi qualcosa per caso, verrà eseguito con un avviso minimo o nullo, anche se fa male alla salute del tuo sistema. Questo è il motivo per cui è buona norma svolgere la maggior parte delle attività come un normale utente e utilizzare root solo quando necessario, ad esempio durante l'installazione di un programma.
Non è necessario utilizzare root per eliminare un errore di segmentazione. Se root è l'unica cosa che corregge un segfault, allora il programma ha un bug. I programmi non dovrebbero fallire in quel modo solo perché non hanno root.
segmentation fault
o usa un altro editor (gedit è l'editor di gnome). kate en kwrite sono programmi KDE (quindi non Gnome).