Als je een Linux-gebruiker bent, heb je waarschijnlijk verwijzingen naar zowel sudo als su gezien. Artikelen hier over How-To Geek en elders instrueren Ubuntu-gebruikers om sudo en gebruikers van andere Linux-distributies te gebruiken om su te gebruiken, maar wat is het verschil?
Sudo en su zijn twee verschillende manieren om rootprivileges te verkrijgen. Elke functie werkt op een andere manier, en verschillende Linux-distributies gebruiken standaard verschillende configuraties.
De rootgebruiker
Zowel su als sudo worden gebruikt om opdrachten uit te voeren met rootrechten. De root-gebruiker is in principe gelijk aan de administrator-gebruiker op Windows – de root-gebruiker heeft maximale rechten en kan alles met het systeem doen. Normale gebruikers op Linux draaien met beperkte rechten – ze kunnen bijvoorbeeld geen software installeren of naar systeemmappen schrijven.
Om iets te doen waarvoor deze machtigingen vereist zijn, moet u ze aanschaffen met su of sudo.
Su tegen Sudo
Het su commando schakelt over naar de super user – of root gebruiker – wanneer je het uitvoert zonder extra opties. U moet het wachtwoord van het root-account invoeren. Dit is echter niet alles wat het su-commando doet – u kunt het gebruiken om over te schakelen naar een gebruikersaccount. Als u het su bob commando, wordt u gevraagd om het wachtwoord van Bob in te voeren en de shell schakelt over naar het gebruikersaccount van Bob.
Als je klaar bent met het uitvoeren van opdrachten in de rootshell, moet je typen Uitgang om de rootshell te verlaten en terug te gaan naar de modus met beperkte bevoegdheden.
Sudo voert een enkele opdracht uit met rootrechten. Wanneer je uitvoert sudo-opdracht, vraagt ​​het systeem u om het wachtwoord van uw huidige gebruikersaccount voordat u begint opdracht als de rootgebruiker. Ubuntu onthoudt het wachtwoord standaard een kwartier en vraagt ​​pas weer om een ​​wachtwoord als het kwartier om is.
Dit is een belangrijk verschil tussen su en sudo. Su schakelt je over naar het root-gebruikersaccount en vereist het wachtwoord van het root-account. Sudo voert een enkele opdracht uit met root-privileges – het schakelt niet over naar de root-gebruiker of vereist een apart root-gebruikerswachtwoord.
Ubuntu versus andere Linux-distributies
Het su-commando is de traditionele manier om root-machtigingen op Linux te verkrijgen. Het sudo-commando bestaat al lang, maar Ubuntu was de eerste populaire Linux-distributie die standaard sudo-only ging. Wanneer u Ubuntu installeert, wordt het standaard root-account gemaakt, maar er wordt geen wachtwoord aan toegewezen. U kunt pas als root inloggen als u een wachtwoord aan het root-account hebt toegewezen.
Er zijn verschillende voordelen aan het standaard gebruiken van sudo in plaats van su. Ubuntu-gebruikers hoeven slechts één wachtwoord op te geven en te onthouden, terwijl Fedora en andere distributies vereisen dat je tijdens de installatie aparte root- en gebruikersaccountwachtwoorden aanmaakt.
Een ander voordeel is dat het gebruikers ontmoedigt om in te loggen als de rootgebruiker – of su te gebruiken om een ​​rootshell te krijgen – en de rootshell open te houden om hun normale werk te doen. Door minder opdrachten als root uit te voeren, wordt de beveiliging verhoogd en worden onbedoelde systeembrede wijzigingen voorkomen.
Distributies op basis van Ubuntu, inclusief Linux Mint, gebruiken standaard ook sudo in plaats van su.
Een paar trucs
Linux is flexibel, dus het kost niet veel werk om su op dezelfde manier te laten werken als sudo – of andersom.
Om een ​​enkele opdracht uit te voeren als de root-gebruiker met su, voer je de volgende opdracht uit:
su -c ‘commando’
Dit is vergelijkbaar met het uitvoeren van een commando met sudo, maar je hebt het wachtwoord van het root-account nodig in plaats van het wachtwoord van je huidige gebruikersaccount.
Om een ​​volledige, interactieve rootshell met sudo te krijgen, voer je uit sudo –i.
U moet het wachtwoord van uw huidige gebruikersaccount opgeven in plaats van het wachtwoord van de root-account.
De rootgebruiker inschakelen in Ubuntu
Om de root-gebruikersaccount op Ubuntu in te schakelen, gebruikt u de volgende opdracht om er een wachtwoord voor in te stellen. Houd er rekening mee dat Ubuntu dit afraadt.
sudo passwd root
Sudo zal u vragen om het wachtwoord van uw huidige gebruikersaccount voordat u een nieuw wachtwoord kunt instellen. Gebruik je nieuwe wachtwoord om in te loggen als root vanaf een terminal login prompt of met het su commando. U mag nooit een volledige grafische omgeving draaien als de rootgebruiker – dit is een zeer slechte beveiligingspraktijk en veel programma’s zullen weigeren te werken.
Gebruikers toevoegen aan het Sudoers-bestand
Alleen beheerdersaccounts in Ubuntu kunnen opdrachten uitvoeren met sudo. U kunt het type van een gebruikersaccount wijzigen in het configuratievenster Gebruikersaccounts.
Ubuntu wijst het gebruikersaccount dat tijdens de installatie is gemaakt automatisch aan als een beheerdersaccount.
Als je een andere Linux-distributie gebruikt, kun je een gebruiker toestemming geven om sudo te gebruiken door het visudo commando met root-privileges (dus voer zo eerste of gebruik su -c).
Voeg de volgende regel toe aan het bestand en vervang gebruiker met de naam van het gebruikersaccount:
gebruiker ALL = (ALL: ALL) ALL
druk op Ctrl-X en dan Y om het bestand op te slaan. U kunt mogelijk ook een gebruiker toevoegen aan een groep die in het bestand is gespecificeerd. Gebruikers in de groepen die in het bestand zijn gespecificeerd, hebben automatisch sudo-rechten.
Grafische versies van Su
Linux ondersteunt ook grafische versies van su, die om uw wachtwoord vragen in een grafische omgeving. U kunt bijvoorbeeld de volgende opdracht uitvoeren om een ​​grafische wachtwoordprompt te krijgen en de Nautilus-bestandsbrowser met rootmachtigingen uitvoeren. druk op Alt-F2 om de opdracht uit te voeren vanuit een grafisch uitvoerdialoog zonder een terminal te starten.
gksu nautilus
Het gksu-commando heeft ook een paar andere trucs in petto: het behoudt je huidige bureaubladinstellingen, zodat grafische programma’s niet misstaan ​​als je ze als een andere gebruiker start. Programma’s zoals gksu zijn de geprefereerde manier om grafische applicaties met root-rechten te starten.
Gksu gebruikt een op su of sudo gebaseerde backend, afhankelijk van de Linux-distributie die u gebruikt.
Je zou nu voorbereid moeten zijn om zowel su als sudo tegen te komen! Je zult beide tegenkomen als je verschillende Linux-distributies gebruikt.