Sådan løses "Brugernavn er ikke i sudoers-filen. Denne hændelse vil blive rapporteret" i Ubuntu


I Unix/Linux-systemer er root -brugerkontoen superbrugerkontoen, og den kan derfor bruges til at gøre alt hvad der er muligt på systemet.

Dette kan dog være meget farligt på så mange måder - man kan være, at rodbrugeren måske indtaster en forkert kommando og bryder hele systemet, eller at en angriber får adgang til rodbrugerkontoen og tager kontrol over hele systemet, og hvem ved hvad han/hun kan muligvis gøre.

Baseret på denne baggrund er rootbrugerkontoen i Ubuntu og dens derivater låst som standard, almindelige brugere (systemadministratorer eller ej) kan kun få superbrugerrettigheder ved at bruge kommandoen sudo .

Og en af de værste ting, der kan ske med en Ubuntu-systemadministrator, er at miste privilegierne til at bruge sudo-kommandoen, en situation der almindeligvis kaldes "brudt sudo". Dette kan være helt ødelæggende.

En ødelagt sudo kan være forårsaget af et af følgende:

  1. En bruger burde ikke have været fjernet fra sudo- eller admin-gruppen.
  2. Filen/etc/sudoers blev ændret for at forhindre brugere i sudo- eller admin-gruppen i at hæve deres rettigheder til root ved hjælp af sudo-kommandoen.
  3. Tilladelsen til/etc/sudoers-filen er ikke indstillet til 0440.

For at udføre vigtige opgaver på dit system, som f.eks. Visning eller ændring af vigtige systemfiler eller opdatering af systemet, har du brug for sudo-kommandoen for at få superbrugerrettigheder. Hvad hvis du nægtes brug af sudo på grund af en eller flere af de grunde, vi nævnte ovenfor.

Nedenfor er et billede, der viser en sag, hvor standardsystembrugeren forhindres i at køre sudo-kommandoen:

[email  ~ $ sudo visudo
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

[email  ~ $ sudo apt install vim
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

Sådan løses Broken sudo Command i Ubuntu

Hvis du tilfældigvis kun kører Ubuntu på din maskine, skal du trykke på Skift -tasten i et par sekunder efter at have tændt den for at få Grub-startmenuen. På den anden side, hvis du kører en dual-boot (Ubuntu sammen med Windows eller Mac OS X), skal du se Grub-startmenuen som standard.

Brug Pil ned , vælg "Avancerede indstillinger til Ubuntu" og tryk på Enter.

Du vil være ved grænsefladen nedenfor, vælg kernen med "gendannelsestilstand" som nedenfor og tryk på Enter for at gå videre til "Gendannelsesmenuen".

Nedenfor er “Recovery menu”, hvilket indikerer, at rodfilsystemet er monteret som skrivebeskyttet. Gå over til linjen "root Drop to root shell prompt", og tryk derefter på Enter.

Tryk derefter på Enter for vedligeholdelse:

På dette tidspunkt skal du være ved root shell-prompt. Som vi havde set før, er filsystemet monteret som skrivebeskyttet, så for at foretage ændringer i det system, vi skal genmontere, er som læs/skriv ved at køre kommandoen nedenfor:

# mount -o rw,remount /

Forudsat at en bruger er blevet fjernet fra sudogruppen, skal kommandoen nedenfor udføres for at tilføje bruger tilbage til sudogruppen for at tilføje bruger til sudogruppen:

# adduser username sudo

Bemærk: Husk at bruge det egentlige brugernavn på systemet, for min sag er det aaronkilik.

Ellers kør følgende kommando under den betingelse, at en bruger er blevet fjernet fra admin-gruppen:

# adduser username admin

Under den antagelse, at filen /etc/sudoers blev ændret for at forhindre brugere i sudo- eller admin-gruppen i at hæve deres privilegier til en superbruger, så lav en sikkerhedskopi af sudoers-filerne som følger:

# cp /etc/sudoers /etc/sudoers.orginal

Åbn derefter sudoers-filen.

# visudo

og tilføj indholdet nedenfor:

#
# 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

Antag at tilladelsen til/etc/sudoers-filen ikke er indstillet til 0440, kør derefter følgende kommando for at gøre det rigtigt:

# chmod  0440  /etc/sudoers

Sidst men ikke mindst, efter at have kørt alle nødvendige kommandoer, skal du skrive kommandoen exit for at gå tilbage til "Recovery menu":

# exit 

Brug Højre pil til at vælge og tryk Enter:

Tryk på for at fortsætte med normal opstartssekvens:

Resumé

Denne metode skal fungere fint, især når det er en administrativ brugerkonto involveret, hvor der ikke er nogen anden mulighed end at bruge gendannelsestilstanden.

Men hvis det ikke fungerer for dig, så prøv at vende tilbage til os ved at udtrykke din oplevelse via feedbackafsnittet nedenfor. Du kan lige så godt tilbyde forslag eller andre mulige måder at løse problemet ved eller forbedre denne guide helt.