Fix 'Gebruikersnaam staat niet in het Sudoers-bestand. Dit incident zal worden gerapporteerd
In Unix/Linux-systemen is het rootgebruikersaccount het supergebruikersaccount en kan daarom worden gebruikt om alles te doen wat mogelijk is op het systeem.
Dit kan echter op veel manieren erg gevaarlijk zijn. Eén daarvan kan zijn dat de root-gebruiker een verkeerd commando invoert en het hele systeem kapot maakt, of dat een aanvaller toegang krijgt tot een root-gebruikersaccount en de controle overneemt van het hele systeem en wie weet wat hij/zij kan doen.
Op basis van deze achtergrond is in Ubuntu en Ubuntu-derivaten het root-gebruikersaccount standaard vergrendeld; gewone gebruikers (systeembeheerders of niet) kunnen alleen superuser-rechten verkrijgen door de sudo-opdracht.
En een van de ergste dingen die een Ubuntu-systeembeheerder kan overkomen, is het verliezen van de rechten om de opdracht sudo te gebruiken, een situatie die gewoonlijk “broken sudo” wordt genoemd. Dit kan absoluut verwoestend zijn.
Een kapotte sudo kan de volgende oorzaken hebben:
- Een gebruiker mag niet zijn verwijderd uit de sudo- of admin-groep.
- Het bestand /etc/sudoers is gewijzigd om te voorkomen dat gebruikers in de groep sudo of admin hun rechten verhogen naar die van root< met behulp van de opdracht sudo.
- De toestemming voor het bestand /etc/sudoers is niet ingesteld op 0440.
Om cruciale taken op uw systeem uit te voeren, zoals het bekijken of wijzigen van belangrijke systeembestanden, of het updaten van het systeem, heeft u de opdracht sudo nodig om superuser-rechten te verkrijgen. Wat moet u doen als u het gebruik van sudo wordt geweigerd vanwege een of meer van de hierboven genoemde redenen?
Hieronder ziet u een afbeelding die een geval toont waarin de standaardsysteemgebruiker de opdracht sudo niet kan uitvoeren:
tecmint@TecMint ~ $ sudo visudo
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file. This incident will be reported.
tecmint@TecMint ~ $ sudo apt install vim
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file. This incident will be reported.
Hoe u een gebroken sudo-commando in Ubuntu kunt repareren
Als u alleen Ubuntu op uw machine gebruikt, drukt u na het inschakelen een paar seconden op de Shift
-toets om Grub op te starten menu. Aan de andere kant, als je dual-boot gebruikt (Ubuntu naast Windows of Mac OS X), dan zou je standaard het Grub-opstartmenu moeten zien.
Gebruik de pijl-omlaag
, selecteer “Geavanceerde opties voor Ubuntu ” en druk op Enter.
Je bevindt je nu in de onderstaande interface, selecteer de kernel met de optie “herstelmodus” zoals hieronder en druk op Enter om door te gaan naar het “Herstelmenu > ”.
Hieronder ziet u het “Herstelmenu”, wat aangeeft dat het rootbestandssysteem als alleen-lezen is aangekoppeld. Ga naar de regel “root Drop to root shell prompt” en druk op Enter.
Druk vervolgens op Enter voor onderhoud:
Op dit punt zou u zich bij de root shell-prompt moeten bevinden. Zoals we eerder hadden gezien, is het bestandssysteem aangekoppeld als alleen-lezen. Om wijzigingen aan te brengen in het systeem dat we opnieuw moeten aankoppelen, gebeurt dit als lezen/schrijven door de onderstaande opdracht uit te voeren:
mount -o rw,remount /
Casus #1 oplossen – Gebruiker toevoegen aan sudo of admin Group
Ervan uitgaande dat een gebruiker uit de sudo-groep is verwijderd, geeft u de onderstaande opdracht uit om de gebruiker weer aan de sudo-groep toe te voegen:
adduser username sudo
Opmerking: vergeet niet om de daadwerkelijke gebruikersnaam op het systeem te gebruiken; in mijn geval is dit aaronkilik.
Of voer, op voorwaarde dat een gebruiker uit de beheerdersgroep is verwijderd, de volgende opdracht uit:
adduser username admin
Casus #2 oplossen – Sudo-rechten verlenen aan gebruikers
Ervan uitgaande dat het bestand /etc/sudoers
is gewijzigd om te voorkomen dat gebruikers in de groep sudo of admin hun rechten verhogen naar die van een supergebruiker en maak vervolgens als volgt een back-up van de sudoers-bestanden:
cp /etc/sudoers /etc/sudoers.orginal
Open vervolgens het bestand sudoers.
visudo
en voeg de onderstaande inhoud toe:
#
This file MUST be edited with the 'visudo' command as root.
#
Please consider adding local content in /etc/sudoers.d/ instead of
directly modifying this file.
#
See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbi$
Host alias specification
User alias specification
Cmnd alias specification
User privilege specification
root ALL=(ALL:ALL) ALL
Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
Geval nr. 3 oplossen – De juiste toestemming instellen voor het sudoers-bestand
Stel dat de toestemming voor het bestand /etc/sudoers niet is ingesteld op 0440, voer dan de volgende opdracht uit om dit goed te maken:
chmod 0440 /etc/sudoers
Tenslotte typt u, nadat u alle noodzakelijke opdrachten heeft uitgevoerd, de opdracht exit
om terug te gaan naar het “Herstelmenu ”:
exit
Gebruik de pijl naar rechts
om
te selecteren en druk op Enter:
Druk op
om door te gaan met de normale opstartvolgorde:
Samenvatting
Deze methode zou prima moeten werken, vooral als het om een beheerdersgebruikersaccount gaat, waarbij er geen andere keuze is dan de herstelmodus te gebruiken.
Als het voor u echter niet werkt, probeer dan contact met ons op te nemen door uw ervaringen kenbaar te maken via het feedbackgedeelte hieronder. U kunt ook suggesties of andere mogelijke manieren geven om het probleem op te lossen of deze handleiding helemaal te verbeteren.