Sudo vs Su [Linux] (MTE legt uit)
Als je ooit met de commandoregel hebt gewerkt in Linux (wie niet?), Kom je zeker het commando "sudo" en "su" tegen. Terwijl ervaren gebruikers precies weten wat ze bedoelen, zijn nieuwe Linux-gebruikers altijd in de war wanneer ze moeten gebruiken en wat de implicatie en complicatie van beide zijn. In dit artikel zullen we in detail uitleggen wat "sudo" en "su" is, het verschil tussen hen en wanneer ze moeten worden gebruikt.
Basisprincipes van Linux
Tijdens de installatie van Linux wordt u gevraagd een gebruikersaccount aan te maken en uw eigen wachtwoord in te stellen. Nadat de installatie is voltooid en het systeem opnieuw is opgestart, wordt u gevraagd in te loggen op het gebruikersaccount dat u eerder hebt gemaakt. Als u zich eenmaal in deze gebruikersomgeving bevindt, bent u uw eigen beheerder en kunt u applicaties uitvoeren en de desktop naar uw eigen smaak aanpassen. Dit is vrijwel hetzelfde als in Windows en Mac. Je hebt ook je eigen persoonlijke thuismap waar je elke map van kunt toevoegen / verwijderen. Dat is zo ongeveer alles wat je kunt doen. Buiten uw thuismap (dat wil zeggen de hoofdmap) zult u merken dat de meeste (of alle) bestandssystemen niet voor u toegankelijk zijn.
Terwijl u de bestanden in die mappen kunt openen en lezen, kunt u er geen wijzigingen in aanbrengen. De reden is omdat u niet over voldoende toestemming beschikt.
Gebruiker toestemming
De gebruikerstoestemmingsfunctie is een beveiligingsfunctie die Linux-gebruikers beschermt. Met uw beheerdersaccount krijgt u toestemming om alles in uw thuismap (en de externe partitie of harde schijf die u hebt aangekoppeld) te beheren. Buiten dat, heeft u root-rechten nodig om wijzigingen aan te brengen in het systeembestand, inclusief het installeren en verwijderen van applicaties. De scheiding van het beheerdersaccount en het root-account zorgt ervoor dat u uw systeem niet onnodig verknoeit en het voor hacker / virus / malware moeilijker maakt om in uw root-systeem te komen.
Opmerking : in tegenstelling tot Windows betekent de beheerder van uw eigen gebruikersaccount niet dat u root-toegang tot het systeem hebt. U kunt applicaties niet alleen installeren / deïnstalleren door te dubbelklikken op het installatieprogramma. In Linux moet u uw wachtwoord invoeren om uw gebruikersaccount te verhogen voordat u een app kunt installeren / de-installeren. Dit betekent ook dat dingen niet worden geïnstalleerd, tenzij je daar expliciete toestemming voor geeft.
Het bestaan van "sudo" en "su" is om u in staat te stellen root-toegang te verkrijgen, zodat u de echte beheerder van uw eigen systeem kunt worden.
SU
"Su" staat voor " superuser " en biedt u de mogelijkheid om in te loggen als root en te doen wat u maar wilt met het systeem. Het kan worden uitgevoerd met de opdracht:
su
en het vereist dat u het wachtwoord van het root-account opgeeft. In sommige distro, met name Ubuntu, is het root-wachtwoord niet ingesteld tijdens de installatie. Dit maakt het vrijwel onmogelijk om in te loggen als root (met "su") omdat het niet kan worden geverifieerd.
Als u echt het "su" -commando nodig hebt om root-toegang te verkrijgen, kunt u het root-wachtwoord wijzigen met behulp van de opdracht:
sudo passwd root
Standaard slaat "su" u op als root in uw eigen gebruikersomgeving. Gebruik de volgende opdracht om de gebruikersomgeving naar root te wijzigen:
su -
Ander gebruik van "su" omvat:
- Overschakelen naar een andere gebruiker die niet de superuser is
su
- Overschakelen naar een andere gebruiker en die gebruikersomgeving gebruiken
su -
Zoals te zien, geeft het gebruik van het "su" -commando je een groot vermogen om je systeem te beheren en aan te passen, en als dit niet is aangevinkt (of als je onervaren bent), kan dit destructief zijn voor je systeem.
Opmerking: gebruik "su" om zoveel mogelijk uw systeem niet te beheren.
SUDO
"Sudo" staat voor " superuser do " en het staat je toe om je huidige gebruikersaccount tijdelijk te verhogen met root-privileges. Dit is anders dan "su". Met "sudo" gebruikt u nog steeds uw gebruikersaccount, maar met rootprivilege, terwijl u in "su" bent ingelogd op het root-account. Bovendien is het rootprivilege in "sudo" slechts voor een korte periode geldig. Als het is verlopen, moet u uw wachtwoord opnieuw invoeren om het rootprivilege te herstellen.
Met "sudo" kun je vrijwel hetzelfde doen als "su". Om het te gebruiken, hoef je alleen maar "sudo" toe te voegen voor alle rootcommando's, bijvoorbeeld:
sudo apt-get update sudo apt-get upgrade
- In sommige gevallen, als u echt als root moet inloggen, in plaats van "su" te gebruiken, is het beter om te gebruiken:
sudo -i
om een rootshell te starten. Hiermee kunt u zich als root aanmelden met uw eigen gebruikerswachtwoord.
- U kunt ook inloggen als een andere gebruiker
sudo -i -u
Conclusie
Dit is een basisinleidend artikel over "sudo" en "su". Als u een newbie bent, is het raadzaam om uw handen van "su" te houden en "sudo" te gebruiken indien nodig. Voor basisgebruikers volstaat het gebruik van "sudo" voor de meeste root-commando's. Al meer dan 6 jaar lang Linux gebruiken, ben ik nog geen instantie tegengekomen waarbij ik "su" of "sudo -i" moest gebruiken.
Voor het beheer van de server, zullen sommigen beweren dat je de hele tijd root moet zijn om onderhoud uit te voeren en om een andere taak uit te voeren. Dit kan waar zijn, maar in mijn persoonlijke ervaring, als u "sudo" installeert, een nieuwe gebruiker maakt en deze gebruiker aan de sudo-groep toevoegt, kunt u vrijwel alles doen met de beperkte gebruikersaccount en sudo-opdracht. Sterker nog, ik denk dat dit een veiliger manier is om je server te beheren. Vertel me of ik het mis heb.