Als Linux gebruiker ben je wel ergens verwijzingen naar sudo en su tegengekomen. Ubuntu gebruikers gebruiken sudo, de anderen su, maar wat is het verschil?
Zowel su als sudo worden gebruikt om opdrachten met root toegang uit te voeren. De root gebruiker komt in grote lijnen overeen met de administrator gebruiker onder Windows, m.a.w. de root gebruiker heeft alle rechten en kan alles aan het systeem veranderen. Gewone Linux gebruikers hebben beperkte rechten, ze kunnen geen software installeren of schrijven naar systeem mappen.
Om zaken met root rechten uit te voeren, moet je deze verwerven met su of sudo.
De su opdracht schakelt bij het uitvoeren zonder extra argumenten over op Super User - of root shell.
Daarbij moet je het root wachtwoord opgeven.
Je kunt de su opdracht ook gebruiken om naar een shell van een andere gebruiker over te schakelen.
Bij het uitvoeren van de opdracht su peter
, moet je peter's wachtwoord opgeven om naar de shell van de gebruiker peter om te schakelen.
Na het uitvoeren van de opdrachten in de root shell, verlaat je de root shell met de opdracht exit
waarmee je terug naar de mode met beperkte privileges overschakelt.
Sudo voert één opdracht met root rechten uit.
Bij het uitvoeren van de opdracht sudo commando
, moet je je eigen wachtwoord opgeven om de opdracht commando
met root rechten uit te voeren.
Bij sommige distributies (zoals openSUSE 12.3 moet je het root wachtwoord opgeven).
Standaard wordt het wachtwoord een tijdje onthouden, zodat je bij opeenvolgende sudo opdrachten niet telkens het wachtwoord opnieuw moet opgeven.
Dit zijn de typische verschillen tussen su en sudo. Su schakelt over naar een shell met root rechten en heeft altijd het wachtwoord van de root gebruiker nodig. Sudo voert één opdracht met root rechten uit waarbij het op te geven wachtwoord per distributie verschilt (ofwel het wachtwoord van de gebruiker die de opdracht uitvoert of het wachtwoord van de root gebruiker).
De su opdracht is de traditionele manier om root rechten te verwerven. De sudo opdracht bestaat al lang, maar Ubuntu (en afgeleide distributies) is de eerste populaire distributie die standaard enkel sudo gebruikt. Bij het installeren van Ubuntu wordt wel een root gebruiker aangemaakt, maar zonder wachtwoord, waardoor je dus niet als root kunt aanmelden.
Er zijn een paar voordelen aan het standaard gebruik van sudo. Ubuntu gebruikers moeten maar één wachtwoord onthouden, terwijl gebruikers van andere distributies (waaronder openSUSE en Fedora) twee gebruikers met twee wachtwoorden gebruiken (root en een gebruiker voor dagelijkse taken).
Een ander voordeel is dat gebruikers zich niet als root kunnen aanmelden en daarin dagelijkse activiteiten uitvoeren. Minder root opdrachten uitvoeren verhoogt de veiligheid en voorkomt toevallig aangepaste systeeminstellingen.
Linux is flexibel, waardoor in een paar stappen su werkt zoals sudo - of omgekeerd.
Om één opdracht met root rechten met su uit te voeren, gebruik je de volgende opdracht:
su -c 'root opdracht'
Dit komt overeen met het uitvoeren van een root opdracht met sudo, maar je moet wel het root wachtwoord opgeven.
Om naar een volledige interactieve shell met sudo om te schakelen, gebruik je de opdracht:
sudo –i
Daarbij moet je in Ubuntu het wachtwoord van de huidige gebruiker opgeven, in openSUSE het wachtwoord van de root gebruiker.
Om de root gebruiker in Ubuntu te activeren, gebruik je de volgende opdracht om een wachtwoord voor de root gebruiker aan te maken:
sudo passwd root
Hou er rekening mee dat Ubuntu daar geen voorstander van is.
Daarbij moet je uw eigen wachtwoord opgeven. Gebruik daarna uw nieuwe root wachtwoord met de su opdracht. Werk nooit in een grafische omgeving als root gebruiker - dit is qua veiligheid geen goede gewoonte, daarenboven zullen veel programma's dienst weigeren.
Ook in grafische omgevingen kan je een opdracht met root rechten uitvoeren.
Druk de toetscombinatie Alt+F2 om een commando uit te voeren.
In Gnome typ je nu
gksu nautilus
en in KDE
kdesu dolphin
om de grafische bestandsbeheerder met root rechten te starten.
Zowel gksu als kdesu gebruiken een truc - ze behouden de huidige grafische instellingen, zodat de andere programma's niet gestoord worden. Programma's zoals gksu en kdesu zijn de aangewezen manier om grafische programma's met root privileges op te starten. Ze werken afhankelijk van de distributie met zowel su als sudo.