Startpagina » hoe » Wat is het verschil tussen Sudo en Su in Linux?

    Wat is het verschil tussen Sudo en Su in Linux?

    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 gebruikers van sudo en 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 hoofdgebruiker is in principe hetzelfde als de beheerdergebruiker in Windows: de hoofdgebruiker heeft maximale machtigingen en kan alles aan 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 dat deze toestemmingen vereist, moet je ze verkrijgen met su of sudo.

    Su tegen Sudo

    De opdracht su schakelt naar de supergebruiker - of rootgebruiker - wanneer u het uitvoert zonder extra opties. U moet het wachtwoord van het root-account invoeren. Dit is echter niet alles wat su doet: u kunt het gebruiken om naar een gebruikersaccount over te schakelen. Als u de uitvoert su bob opdracht, wordt u gevraagd om het wachtwoord van Bob in te voeren en schakelt de shell naar het gebruikersaccount van Bob.

    Zodra u klaar bent met het uitvoeren van opdrachten in de rootshell, moet u typen Uitgang om de rootshell te verlaten en terug te gaan naar de modus beperkte privileges.

    Sudo voert een enkele opdracht uit met rootprivileges. Wanneer je uitvoert opdracht sudo, het systeem vraagt ​​u om het wachtwoord van uw huidige gebruikersaccount voordat het wordt uitgevoerd commando als root-gebruiker. Ubuntu onthoudt het wachtwoord standaard een kwartier en vraagt ​​pas weer om een ​​wachtwoord als het vijftien minuten voorbij is.

    Dit is een belangrijk verschil tussen su en sudo. Su schakelt u naar het root-gebruikersaccount en vereist het wachtwoord van het root-account. Sudo voert een enkele opdracht uit met rootprivileges - het schakelt niet over naar de rootgebruiker of vereist een afzonderlijk rootgebruikerswachtwoord.

    Ubuntu versus andere Linux-distributies

    Het su-commando is de traditionele manier om root-rechten op Linux te verkrijgen. De sudo-opdracht bestaat al lang, maar Ubuntu was de eerste populaire Linux-distributie die standaard sudo-only was. Wanneer u Ubuntu installeert, wordt het standaard root-account gemaakt, maar er is geen wachtwoord aan toegewezen. U kunt niet als root inloggen totdat u een wachtwoord toewijst aan het root-account.

    Het gebruik van sudo in plaats van su heeft verschillende voordelen. Ubuntu-gebruikers hoeven slechts één wachtwoord in te voeren en te onthouden, terwijl je voor Fedora en andere distributies aparte root- en gebruikersaccountwachtwoorden moet maken tijdens de installatie.

    Een ander voordeel is dat gebruikers worden ontmoedigd om in te loggen als de rootgebruiker - of su gebruiken om een ​​rootshell te krijgen - en de rootshell open te houden om hun normale werk te doen. Minder opdrachten uitvoeren als root verhoogt de beveiliging en voorkomt accidentele systeemwijzigingen.

    Distributies op basis van Ubuntu, inclusief Linux Mint, gebruiken standaard ook sudo in plaats van su.

    Een paar trucjes

    Linux is flexibel, dus het kost niet veel moeite om su te laten werken op dezelfde manier als sudo - of omgekeerd.

    Voer de volgende opdracht uit om één enkele opdracht uit te voeren als root-gebruiker met su:

    su -c 'commando'

    Dit lijkt op het uitvoeren van een opdracht 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 root-shell te krijgen met sudo, uitvoeren sudo -i.

    U moet het wachtwoord van uw huidige gebruikersaccount opgeven in plaats van het wachtwoord van het root-account.

    De root-gebruiker inschakelen in Ubuntu

    Als u de rootgebruikersaccount op Ubuntu wilt inschakelen, gebruikt u de volgende opdracht om een ​​wachtwoord in te stellen. Houd er rekening mee dat Ubuntu dit aanbeveelt.

    sudo passwd root

    Sudo vraagt ​​u om het wachtwoord van uw huidige gebruikersaccount voordat u een nieuw wachtwoord kunt instellen. Gebruik uw nieuwe wachtwoord om u als root aan te melden vanaf de aanmeldprompt van een terminal of met de opdracht su. U mag nooit een volledige grafische omgeving uitvoeren als root-gebruiker - dit is een zeer slechte beveiligingspraktijk en veel programma's 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 automatisch de gebruikersaccount aan die tijdens de installatie is aangemaakt als een beheerdersaccount.

    Als u een andere Linux-distributie gebruikt, kunt u een gebruiker toestemming geven om sudo te gebruiken door de visudo commando met root-rechten (dus uitvoeren su eerst of gebruik su -c).

    Voeg de volgende regel toe aan het bestand en vervang het 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 ook een gebruiker toevoegen aan een groep die in het bestand is opgegeven. Gebruikers in de groepen die in het bestand zijn opgegeven, hebben automatisch sudo-privileges.

    Grafische uitvoeringen 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 wachtwoordaanwijzing te krijgen en de Nautilus-bestandsbrowser met rootrechten uit te voeren. druk op Alt-F2 om de opdracht uit een grafisch dialoogvenster uit te voeren zonder een terminal te starten.

    gksu nautilus

    De opdracht gksu heeft ook een paar andere trucjes voor de boeg - het behoudt je huidige bureaubladinstellingen, dus grafische programma's zullen niet misstaan ​​als je ze als een andere gebruiker start. Programma's zoals gksu zijn de aangewezen manier om grafische applicaties te starten met rootprivileges.

    Gksu gebruikt een su of sudo-gebaseerde backend, afhankelijk van de Linux-distributie die je gebruikt.


    Je zou nu bereid moeten zijn om su en sudo tegen te komen! Je zult beide tegenkomen als je verschillende Linux-distributies gebruikt.