
Als een sudo commando op Linux krijgt u een bericht dat een gebruiker “niet in het sudoers-bestand staat”, u moet op de lijst “sudoers” komen. We zullen het toevoegen van een gebruiker aan sudoers in Ubuntu en andere Linux-distributies doorlopen, evenals het bewerken van het sudoers-bestand.
Waarom moet ik worden toegevoegd aan het sudoers-bestand?
Hoe het sudoers-bestand te openen
Voeg een sudo-gebruiker toe in Ubuntu en andere Linux-distributies
Beperk sudo-privileges door het sudoers-bestand te bewerken
Degene die dit commando heeft
Waarom moet ik worden toegevoegd aan het sudoers-bestand?
In Linux-installaties is de rootgebruiker de meest bevoorrechte gebruiker. Ze kunnen elke administratieve taak uitvoeren, toegang krijgen tot elk bestand, ongeacht of ze er daadwerkelijk de eigenaar van zijn, en ze kunnen andere gebruikers maken, manipuleren en zelfs verwijderen.
Dit niveau van macht is gevaarlijk. Als root een fout maakt, kunnen de gevolgen catastrofaal zijn. Ze kunnen bestandssystemen aan- en afkoppelen en ze volledig overschrijven. Een veel veiligere manier van werken is om nooit in te loggen als root.
Genomineerde gebruikers kunnen gebruiken sudo om tijdelijk administratieve bevoegdheden te krijgen, de vereiste actie uit te voeren en vervolgens terug te keren naar hun normale, onbevoegde staat. Dit is veiliger omdat je bewust je hogere krachten aanroept wanneer je ze nodig hebt, en terwijl je gefocust bent op het doen van wat het ook is dat ze nodig heeft.
De sudo commando is het Linux-equivalent van het roepen van “Shazam”. Als het enge gedoe voorbij is, verlaat je je superkrachtige alter ego en ga je terug naar je normale alledaagse zelf.
Inloggen als root is standaard uitgeschakeld op de meeste moderne distributies, maar kan worden hersteld. Het gebruik van het root-account voor dagelijks werk wordt afgeraden. Fouten die normaal gesproken een enkele gebruiker zouden treffen of die volledig zouden worden geblokkeerd vanwege onvoldoende rechten, kunnen ongehinderd worden uitgevoerd als root geeft ze uit.
Moderne Linux-distributies verlenen sudo privileges voor het gebruikersaccount dat is gemaakt tijdens de installatie of configuratiestappen na de installatie. Als iemand anders probeert te gebruiken sudo zien ze een waarschuwingsbericht zoals dit:
mary is not in the sudoers file. This incident will be reported.
Dat lijkt duidelijk genoeg. Onze gebruiker mary kan niet gebruiken sudo omdat ze niet “in het sudoers-bestand” staat. Dus laten we eens kijken hoe we haar kunnen toevoegen, waardoor ze een sudo-gebruiker wordt.
Hoe het sudoers-bestand te openen
Voordat we een kunnen toevoegen sudo gebruiker waarmee we moeten werken sudoers het dossier. Hierin staan ​​de gebruikersgroepen van de gebruikers die kunnen gebruiken sudo. Als we wijzigingen in het bestand moeten aanbrengen, moeten we het bewerken.
De sudoers het dossier moeten worden geopend met behulp van de visudo opdracht. Dit vergrendelt de sudoers bestand en voorkomt dat twee mensen tegelijkertijd wijzigingen proberen aan te brengen. Het voert ook enkele sanity-checks uit voordat uw bewerkingen worden opgeslagen, om ervoor te zorgen dat ze correct worden geparseerd en syntactisch correct zijn.
Let daar op visudo geen editor is, wordt een van uw beschikbare editors gestart. Op Ubuntu 22.04, Fedora 37 en Manjaro 21, visudo Nano gelanceerd. Dat is misschien niet het geval op uw computer.
Als we iemand toegang willen geven tot full sudo privileges, hoeven we alleen maar naar wat informatie te verwijzen van de sudoers het dossier. Als we gedetailleerder willen zijn en onze gebruiker enkele mogelijkheden willen geven van rootmoeten we het bestand bewerken en de wijzigingen opslaan.
Hoe dan ook, we moeten gebruiken visudo.
Voeg een sudo-gebruiker toe in Ubuntu en andere Linux-distributies
We hebben twee gebruikers die toegang tot rootrechten nodig hebben om hun taken uit te voeren, dus we zullen ze toevoegen aan sudoers. Het zijn Tom en Mary. Mary moet toegang hebben tot alles root kan doen. Tom hoeft alleen maar applicaties te installeren.
Laten we Mary eerst toevoegen aan de groep sudoers. We kunnen dit op Ubuntu en de meeste andere Linux-distributies op dezelfde manier doen, door te beginnen visudo.
sudo visudo

Scrol omlaag in de editor totdat u het gedeelte “Gebruikersprivilegespecificatie” ziet. Zoek naar een opmerking die iets zegt als “Sta leden van deze groep toe om elke opdracht uit te voeren.”

Er is ons verteld dat leden van de sudo groep kan elk commando uitvoeren. Alles wat we moeten weten in het geval van Mary is de naam van die groep. Het is niet altijd sudo ; het kan zijn wheel of iets anders. Nu we de naam van de groep weten, kunnen we de editor sluiten en Mary aan die groep toevoegen.
We gebruiken de usermod commando met de -a (toevoegen) en -G (groepsnaam) opties om gebruikers toe te voegen aan sudoers. De -G optie stelt ons in staat de groep een naam te geven waaraan we de gebruiker willen toevoegen, en de -a optie vertelt usermod om de nieuwe groep toe te voegen aan de lijst met bestaande groepen waar deze gebruiker al deel van uitmaakt.
Als u geen gebruik maakt van de -a optie, is de enige groep waar uw gebruiker deel van uitmaakt de nieuw toegevoegde groep. Controleer nogmaals en zorg ervoor dat u de -a keuze.
sudo usermod -aG sudo mary

De volgende keer dat Mary inlogt, heeft ze toegang tot sudo. We hebben haar ingelogd en we proberen het bestandssysteemtabelbestand “/etc/fstab” te bewerken. Dit is een bestand dat voor iedereen verboden is, behalve root.
sudo nano /etc/fstab

De nano-editor wordt geopend met het bestand “/etc/fstab” geladen.

Zonder sudo privileges, zou je dit alleen kunnen openen als een alleen-lezen bestand. Mary heeft die beperkingen niet meer. Ze kan alle wijzigingen die ze aanbrengt opslaan.
Sluit de editor en niet doen sla eventuele wijzigingen op die u heeft aangebracht.
Beperk sudo-privileges door het sudoers-bestand te bewerken
Onze andere gebruiker, Tom, krijgt toestemming om software te installeren, maar hij krijgt niet alle privileges die aan Mary zijn toegekend. We kunnen Tom een ​​sudo-gebruiker maken zonder hem alle privileges te geven.
We moeten de sudoers het dossier.
sudo visudo

Scrol omlaag in de editor totdat u het gedeelte “Gebruikersprivilegespecificatie” ziet. Zoek naar een opmerking die iets zegt als “Sta de leden van deze groep toe om elke opdracht uit te voeren”. Het is hetzelfde punt in het bestand waar we de naam vonden van de groep waaraan we Mary moesten toevoegen.
Voeg deze regels toe onder die sectie.
# user tom can install software tom ALL=(root) /usr/bin/apt

De eerste regel is een simpele opmerking. Merk op dat er een tab is tussen de gebruikersnaam “tom” en het woord “All”.
Dit is wat de items op de regel betekenen.
- Tom: De naam van de gebruiker standaard groep. Meestal is dit hetzelfde als de naam van hun gebruikersaccount.
- ALLES=: Deze regel is van toepassing op alle hosts op dit netwerk.
-
(wortel): Leden van de “tom” -groep, dat wil zeggen gebruiker Tom, kunnen aannemen
rootprivileges, voor de vermelde opdrachten. -
/usr/bin/apt: Dit is het enige commando waarmee gebruiker Tom kan uitvoeren
root.
We hebben de opgegeven apt pakketbeheerder hier omdat deze computer Ubuntu Linux gebruikt. U moet dit vervangen door het juiste commando als u een andere distributie gebruikt.
Laten we Tom inloggen en kijken of we het verwachte gedrag krijgen. We zullen proberen het bestand “/etc/fstab” te bewerken.
sudo nano /etc/fstab

Dat commando wordt afgewezen en er wordt ons verteld dat “user tom niet is toegestaan ​​om ‘/usr/bin/nano /etc/fstab’ als root uit te voeren…”
Dat is wat we wilden. Gebruiker Tom zou alleen de apt pakket manager. Laten we ervoor zorgen dat ze dat kunnen.
sudo apt install neofetch

De opdracht is met succes uitgevoerd voor Tom.
Degene die dit commando heeft
Als al uw gebruikers kunnen gebruiken sudo, heb je chaos in handen. Maar het is de moeite waard om andere gebruikers naar de sudoers-lijst te promoveren, zodat ze uw administratieve last kunnen delen. Zorg ervoor dat ze het waard zijn en houd ze in de gaten.
Zelfs als u de enige gebruiker op uw computer bent, is het de moeite waard om nog een gebruikersaccount aan te maken en deze toe te voegen als een sudo gebruiker. Op die manier heb je, als je ooit merkt dat je geen toegang meer hebt tot je hoofdaccount, een ander account waarmee je kunt inloggen om te proberen de situatie te verhelpen.