Hoe u de fout “sudo: opdracht niet gevonden” op Linux kunt oplossen
Dit is een veelvoorkomend en frustrerend probleem voor nieuwe Linux-gebruikers die net beginnen.
In dit artikel leest u wat deze fout betekent en hoe u deze in Linux met verschillende methoden kunt oplossen.
Wat is de Sudo-opdracht?
Laten we eerst eens begrijpen wat sudo inhoudt. Met het sudo
commando, een afkorting van superuser do , kunt u taken uitvoeren waarvoor speciale superuser (of root) privileges nodig zijn.
In Linux hebben gewone gebruikersaccounts beperkte rechten om onbedoelde systeemschade te voorkomen. U kunt bepaalde bestanden niet openen of kritieke taken uitvoeren. De rootgebruiker heeft daarentegen geen dergelijke beperkingen en kan alles op het systeem doen.
Door sudo
voor een opdracht te gebruiken, verhoogt u tijdelijk uw privileges. Hierdoor kunt u opdrachten uitvoeren die anders beperkt zouden zijn. Als u bijvoorbeeld software moet installeren of systeembestanden moet wijzigen, geeft sudo u de benodigde rechten.
Sudo gebruiken is een betere optie dan inloggen als rootgebruiker, omdat het het risico verkleint dat u per ongeluk het systeem kapotmaakt. Wanneer u een opdracht uitvoert met sudo, wordt u gevraagd om uw gebruikerswachtwoord (niet het rootwachtwoord) om uw identiteit te verifiëren. Dit biedt een extra beveiligingslaag, waarbij alleen toegestane gebruikers gevoelige bewerkingen kunnen uitvoeren.
Er is ook een manier om sudo te gebruiken zonder wachtwoord.
Wat betekent “Sudo: Opdracht niet gevonden”
De fout sudo: command not found betekent dat uw Linux-systeem het sudo-pakket niet beschikbaar heeft. De meeste Linux-systemen worden geleverd met sudo vooraf geïnstalleerd, maar een paar niet, zoals Arch en Gentoo Linux.
Soms ziet u de fout echter nog steeds, ook al is sudo op uw systeem geïnstalleerd. In dat geval kan het zijn dat uw PATH-variabele niet de directory bevat waarin sudo is geïnstalleerd. De PATH-variabele helpt het systeem om opdrachten te vinden door de vermelde directories te doorzoeken.
Ten slotte ziet u deze fout mogelijk als uw gebruiker niet de juiste rechten heeft of als het PATH niet goed is ingesteld. Controleer bovendien of u sudo correct hebt gespeld.
Hoe Sudo: Command Not Found-fout te verhelpen
Om de fout sudo: command not found in Linux te verhelpen, moet u sudo installeren, de gebruiker toevoegen aan de sudo-groep of het pad naar het uitvoerbare sudo-bestand toevoegen aan de PATH-variabele.
Sudo installeren
Laten we om te beginnen eerst controleren of er een sudo-pakket beschikbaar is op uw systeem. U kunt dit eenvoudig controleren door het versienummer op te vragen. Als het verschijnt, weet u dat sudo op uw systeem is geïnstalleerd:
Als sudo niet op uw Linux-systeem is geïnstalleerd, moet u het installeren om de fout op te lossen. Hiervoor moet u uitloggen bij uw gebruikersaccount en inloggen als rootgebruiker.
Om dat te doen, typt u eenvoudigweg deze opdracht:
Nu u rootgebruiker bent, kunt u het sudo-pakket in uw Linux-distributie installeren met behulp van uw standaardpakketbeheerder.
U kunt sudo bijvoorbeeld installeren in Ubuntu/Debian-gebaseerde distributies met behulp van apt
:
Om sudo te installeren in CentOS/Fedora of RHEL-gebaseerde distributies, voer je het volgende uit:
Gebruik de volgende opdracht om het sudo-pakket op Arch Linux te installeren:
Gebruiker toevoegen aan Sudo-groep
Voeg na het installeren van sudo uw niet-rootgebruiker toe aan de sudo-groep om superuser root-toegang in te schakelen. U kunt bijvoorbeeld een gebruiker toevoegen aan de sudo-groep in het Ubuntu- of Debian-systeem met behulp van deze opdracht:
Probeer op Fedora/CentOS of andere RHEL-gebaseerde distro’s een gebruiker toe te voegen aan de wheel-groep:
Bovendien kunt u controleren of de gebruiker aan de groep is toegevoegd door de onderstaande opdracht uit te voeren:
Nadat u dit hebt gecontroleerd, schakelt u terug van root naar de niet-rootgebruiker met behulp van de su
opdracht gevolgd door uw gebruikersnaam:
Dat is alles! Nu kunt u alle opdrachten eenvoudig uitvoeren als superuser met sudo. U kunt bijvoorbeeld de sudo-installatie verifiëren door de pakketten van uw Linux-systeem bij te werken met deze opdracht:
Voeg de map van Sudo toe aan de padvariabele
Als sudo op uw systeem is geïnstalleerd, maar u nog steeds de foutmelding sudo: command not found krijgt, controleer dan uw PATH-variabele en zorg ervoor dat deze de map bevat waarin sudo is geïnstalleerd.
Bepaal eerst de locatie van uw sudo-opdracht door het uitvoerbare pad te retourneren:
Gebruik vervolgens de opdracht echo om te controleren of uw PATH-variabele deze directory bevat (/usr/bin/):
Hier ziet u een lijst met veel mappen gescheiden door dubbele punten. U moet zoeken naar “/usr/bin” of “/bin” in de lijst omdat dit de meest voorkomende locaties voor sudo zijn.
Als de map “/usr/bin” niet in uw PATH staat, kunt u deze met deze opdracht toevoegen:
Vervang bovendien “/usr/bin” door de daadwerkelijke map die het sudo-uitvoerbare bestand bevat.
Door deze opdracht uit te voeren, wordt de PATH-variabele tijdelijk bijgewerkt, zodat uw systeem de sudo-directory kan vinden en de bash-fouten in Linux kan oplossen. Deze wijziging is echter tijdelijk en verdwijnt wanneer u de terminalsessie beëindigt.
Om deze wijziging permanent te maken voor alle gebruikers, moet u de sudo-directory toevoegen aan de systeembrede PATH-variabele. Om dat te doen, worden we eerst de rootgebruiker:
Open het bestand “/etc/profile”:
Zoek naar de regel pad van de variabele en voeg uw map “/usr/bin” toe aan de variabele PATH.
Sla het bestand ten slotte op door op Ctrl+ te drukken Oen sluit de editor. Nu kunt u zonder fouten met de sudo-opdracht werken.
Afsluiten
U hebt de fout sudo: command not found succesvol opgelost door sudo te installeren, uw gebruiker toe te voegen aan de sudo-groep en het pad naar het uitvoerbare sudo-bestand op te nemen in de PATH-variabele.
Verder kunt u ook de verschillen tussen sudo -s, su, sudo su en sudo -i verkennen. U kunt ook Run0 proberen, een nieuw privilege escalation-programma dat een geweldig alternatief is voor sudo.
Beeldmateriaal: Haroon Javed
Geef een reactie