logo

Linux sudo

Invoering

Het Linux sudo-commando staat voor Supergebruiker doen . Over het algemeen wordt het toegepast als voorvoegsel van een paar opdrachten die de superuser mag uitvoeren.

Als we de opdracht samen met andere opdrachten als voorvoegsel gebruiken, wordt die opdracht met hoge bevoegdheden uitgevoerd. Met andere woorden, het zorgt ervoor dat de gebruiker, met de juiste autorisatie, een opdracht kan eten terwijl andere gebruikers de superuser leuk vinden.

Het is gelijk aan de optie 'als administrator uitvoeren' in Windows. Met de sudo-optie kunnen we meer dan één beheerder hebben. De gebruikers die de sudo-opdracht kunnen toepassen, moeten de vermelding in het bestand sudoers gepositioneerd hebben op '/etc/sudoers/' .

Opmerking: om het bestand te bekijken of te bewerken, moeten we de opdracht sudo toepassen. Voor het bewerken van het bestand wordt voorgesteld het commando 'visudo' toe te passen.

De sudo-opdracht vereist standaard dat gebruikers zichzelf verifiëren samen met een wachtwoord dat het wachtwoord van de gebruiker is, en niet zelf een root-wachtwoord.

Syntaxis van de sudo-opdracht

De syntaxis van de sudo-opdracht wordt hieronder vermeld:

 sudo OPTION... COMMAND 

Optie in sudo-opdracht

Enkele van de belangrijke opties in de sudo-opdracht worden hieronder uitgelegd:

1 in: Het staat voor versie . Met deze optie wordt de sudo-opdracht ingeschakeld voor het afdrukken van het versienummer en het afsluiten. De optie -V zou de standaard sudo-lijstpauze afdrukken die werd waargenomen als de aanvragende gebruiker al de root is.

Linux sudo

2. -l: Het staat voor lijst . Deze optie helpt bij het afdrukken van de verschillende opdrachten die de gebruiker via de huidige host heeft toegestaan.

Het laat zien dat de huidige gebruiker elke opdracht als sudo zou kunnen toepassen.

Freddie Mercurius
Linux sudo

3. -h of -help: De h staat voor hulp bij deze optie. Met deze optie wordt de sudo-opdracht ingeschakeld voor het afdrukken van een bericht over het gebruik en het afsluiten.

Linux sudo

4. -in: Het staat voor valideren . Als de sudo-opdracht de tijdstempel van de gebruiker zou bijwerken, zal de validate indien nodig om het wachtwoord van de gebruiker vragen. Het verlengt de time-out van de sudo-opdracht met de overige 5 minuten, maar voert geen opdracht uit. Het levert geen resultaat op.

5. -k: Het staat voor doden . Deze optie maakt de tijdstempel van de gebruiker voor sudo ongeldig. Daarom is de volgende keer dat de sudo-opdracht wordt uitgevoerd een wachtwoord vereist. De optie -k heeft geen wachtwoord nodig en is opgenomen om gebruikers in staat te stellen de machtigingen van de sudo-opdracht in te trekken via de .uitloggen bestand.

6. -b: Het staat voor achtergrond . Deze optie informeert de sudo-opdracht om de opgegeven opdrachten op de achtergrond uit te voeren.

Opmerking: als we deze optie toepassen, kunnen we geen shell-taakcontrole toepassen om het proces te manipuleren.

Linux sudo

7. -K: Deze optie is hetzelfde als de -k optie. Het staat echter voor zeker doden . Deze optie wordt toegepast om de tijdstempel van de gebruiker volledig te verwijderen. Het heeft ook geen wachtwoord nodig.

8. -p: Het staat voor snel . Met deze optie kunnen we de wachtwoordprompt (standaard) overschrijven en een aangepast wachtwoord toepassen. Er zijn een paar procent ontsnappingen toegestaan, die als volgt zijn:

  • %u is ontwikkeld op basis van de loginnaam van de aanroepende gebruiker.
  • %U is ontwikkeld op basis van de inlognaam van de gebruiker
  • %h is ontwikkeld op basis van de hostnaam (lokaal) zonder enige naam van het domein.
  • %H is ontwikkeld naar de hostnaam (lokaal) met de naam van het domein (alleen als de hostnaam van de machine volledig gekwalificeerd is)
  • %% (twee opeenvolgende tekens) kan worden opgesplitst in een afzonderlijk %-teken.
Linux sudo

9. -n: Met deze optie wordt de opdracht uitgevoerd zonder om het wachtwoord te vragen. Het is erg handig als we een paar opdrachten willen uitvoeren als achtergrondtaken (of in het shellscript), waarbij we de opdracht sudo niet willen gebruiken om naar het wachtwoord te vragen. Deze optie staat voor niet-interactief.

tekenreeks naar char java

10. -in: Het staat voor gebruiker . Met deze optie kan de sudo-opdracht de beschreven opdrachten uitvoeren, behalve de root als gebruiker. Voor het opgeven van een vloeistof in plaats van de gebruikersnaam kunnen we de #uid .

11. -H: Het staat voor THUIS . Deze optie kan een HOME-omgevingsvariabele naar onze thuismap van de rootgebruiker zoals beschreven in het passwd-bestand. Het sudo-commando verandert standaard niets aan HOME.

12. -s: Het staat voor de schelp . Deze optie voert de shell uit die wordt beschreven via a SHELL-omgevingsvariabele wanneer deze is ingesteld of deze schaal zoals beschreven in de wachtwoord bestand.

13. -S: Het staat voor stdin . Met deze optie wordt de sudo-opdracht ingeschakeld voor het lezen van het wachtwoord via standaardinvoer in plaats van via het terminalapparaat.

Java-switch int

14. -: Deze optie illustreert dat de opdracht sudo moet stoppen met het verwerken van de argumenten van de opdrachtregel. Het is vooral nuttig in combinatie met een vlag -s.

15. -een: Het staat voor authenticatietype . Deze optie schakelt de sudo-opdracht in voor het gebruik van het beschreven authenticatietype bij het valideren van een gebruiker, zoals toegestaan ​​door de /etc/login/.config .

De beheerder van het systeem kan de lijst met methoden voor de sudo-specifieke authenticatie beschrijven door de 'auto-sudo' binnenkomst in de /etc/login/.config .

Linux sudo

Omgevingsvariabelen in sudo Command

Hieronder volgen enkele omgevingsvariabelen die worden toegepast door de opdracht sudo:

Ja nee. Label Beschrijving
1. EDITOR Het is een standaardeditor die kan worden gebruikt in de -e-modus (sudoedit) als VISUAL niet is opgelost.
2. THUIS Het wordt ingesteld op de homedir van de gebruiker (doel) in de modus -H of -s (of wanneer het sudo-commando werd gevormd met de optie, dat wil zeggen -enable-shell-sets-home).
3. PAD Het wordt ingesteld op de normale waarde wanneer de optie, dat wil zeggen secure_path sudoers, is opgelost.
4. SCHELP Het kan worden gebruikt om te bepalen welke shell moet worden uitgevoerd met de optie -s.
5. SUDO_COMMAND Het gaat over een opdracht die wordt uitgevoerd door de opdracht sudo.
6. SUDO_PROMPT Het kan worden gebruikt als wachtwoordprompt (standaard).
7. SUDO_USER Het wordt ingesteld op de login van de gebruiker die de sudo-opdracht aanvraagt.
8. SUDO_UID Het wordt ingesteld op de uid van de gebruiker die de sudo-opdracht aanvraagt.
9. SUDO_GID Het wordt ingesteld op de gid van de gebruiker die de opdracht sudo aanvraagt.
10. ZUID_PS1 PS1 zou op zijn waarde worden ingesteld als deze is ingesteld.
elf. GEBRUIKER Het wordt ingesteld op de gebruiker (root tenzij de optie, d.w.z. -u, wordt beschreven).
12. VISUEEL Het is een standaardeditor en wordt gebruikt in de -e-modus (sudoedit).

Geschiedenis van het sudo-commando

Cliff Spencer en Robert Coggeshall schreven het eigenlijke subsysteem in 1980 bij SUNY/Buffalo van de afdeling Computerwetenschappen. Robert Coggeshall nam sudo mee naar de Universiteit van Colorado Boulder. De functies en code werden tussen 1986 en 1993 substantieel gewijzigd door de IT-leden van het College of Engineering en de University of Colorado Boulder Computer Science Department en toegepaste wetenschap met Todd C. Miller.

Publiekelijk wordt de nieuwste versie sinds 1994 beheerd door Todd .C Miller (OpenBSD-ontwikkelaar) en sinds 1999 gedeeld onder de ISC-stijl licentie.

Thomas Claburn typeerde dergelijke onzekerheden als overdreven in november 2009 als reactie op het feit dat Microsoft privilege sudo had. In het kort werden de claims ingekaderd in een specifieke GUI in plaats van de sudo-aanpak.

Ontwerp van de sudo-opdracht

Gebruikers kunnen indien nodig hun wachtwoord aan sudo opgeven in plaats van aan een superuser, in tegenstelling tot de su-opdracht. Het biedt toegankelijke gebruikers de mogelijkheid om gekwalificeerde privileges uit te oefenen zonder geheimhouding van het wachtwoord van het andere account.

  • Wanneer het configuratiebestand de gebruiker toegang verleent, vraagt ​​het systeem na authenticatie om de geclaimde opdracht.
  • Het sudo-commando behield de aanroeprechten van de gebruiker door een respijttijd (meestal 5 minuten) per pseudo-terminal en stelt de gebruiker in staat verschillende opeenvolgende opdrachten uit te voeren als de geclaimde gebruiker zonder opnieuw een wachtwoord te hoeven opgeven.
  • De sudo-opdracht kan worden geconfigureerd om elke uitgevoerde opdracht te loggen als controle- en beveiligingsfunctie.
  • Op het moment dat een gebruiker een opname maakt voor het aanroepen van de sudo-opdracht zonder dat deze in het configuratiebestand wordt vermeld, wordt aan die gebruiker een uitzonderingsillustratie gepresenteerd waarin wordt aangegeven dat de opname is opgenomen.
  • Een invoer zou in het systeem worden opgeslagen en de rootgebruiker zou per e-mail op de hoogte worden gebracht.

Configuratie van de sudo-opdracht

De /etc/sudoers bestand bevat de gebruikersgroepen of een lijst met gebruikers met toestemming om een ​​reeks opdrachten uit te voeren, terwijl het de rechten bevat van een rootgebruiker of een andere vermelde gebruiker. Het programma is mogelijk zo geconfigureerd dat er een wachtwoord nodig is.

Impact van de sudo-opdracht

In een paar systeemdistributies heeft de opdracht sudo het gebruik (standaard) van een andere login van de superuser voor verschillende administratieve handelingen verdrongen, vooral in enkele MacOS- en Linux-distributies van Apple.

Het voorkomt enkele exploits en maakt ook een beter beschermde registratie van de beheerdersopdrachten mogelijk.

npm cache leegmaken

RBAC

Het sudo commando zou gebruikt kunnen worden voor transit tussen verschillende soorten rollen binnen de op rollen gebaseerde toegangscontrole in samenwerking met SELinux.

Soortgelijke programma's en tools

De visudo is een hulpprogramma van de opdrachtregel waarmee u het configuratiebestand van sudo op een fail-safe manier kunt bewerken. Het voert syntaxis- en sanity-checks uit en voorkomt ook meer dan één gelijktijdige bewerking, samen met vergrendelingen.

Het runas-programma maakt dezelfde prestaties mogelijk in Microsoft Windows; Het kan echter de huidige lange opdrachtregels niet doorgeven aan een kind, omgevingsvariabelen of mappen.

Het ondersteunt geen algemene verhoging, terwijl het helpt om het kind uit te voeren zoals elke andere gebruiker. Voor Windows worden een echte sudo en su toegevoegd die elk van deze statusdetails kunnen overbrengen en het kind kunnen beginnen als een andere gebruiker of met een verhoogde status Hamilton C-schaal .

De GUI is beschikbaar voor sudo ( gksudo met name) maar het is verouderd in Debian en ook niet langer in Ubuntu. Verschillende andere soorten gebruikersinterfaces zijn niet rechtstreeks op sudo ontworpen, maar faciliteren dezelfde bevoegdheidsverhoging (tijdelijk) voor administratieve doeleinden zoals Autorisatiediensten van Mac OS X, gebruikersaccountbeheer binnen Microsoft Windows , En pkexec binnen de Unix-achtige besturingssystemen .

Sinds versie 5.8 van OpenBSD (oktober 2015), doneren is beschikbaar. Het is gespecificeerd om het sudo commando te vervangen binnen het basissysteem van OpenBSD.

zijn versus sudo

Als we gewend zijn aan een meer klassieke Linux-installatie, dan zijn we gewend het su-commando toe te passen om root-rechten te verkrijgen. We kunnen ook het su-commando geven om effectief in te loggen als root (het huis van de root wordt ons thuis).

Met dit soort distributies kunnen we ook als routegebruiker inloggen. Maar het is geen goed idee om in te loggen als rootgebruiker. Als we een distributie toepassen die afhankelijk is van het su-commando en het inloggen van rootgebruikers toestaat, log dan in als onze standaardgebruiker en gebruik het su-commando voor de rootgebruiker.

wie is urfi javed

Hoogstwaarschijnlijk zullen we merken dat we niet kunnen inloggen als rootgebruiker met behulp van op sudo gebaseerde distributies. In sommige distributies zoals Ubuntu is het account van de rootgebruiker zelfs uitgeschakeld.

We kunnen niet inloggen als rootgebruiker en de opdracht su gebruiken om rootgebruiker te worden. We zouden deze opdrachten kunnen geven met behulp van de opdracht sudo om beheerdersrechten te verkrijgen.

Gebruik van sudo-opdracht

Er zijn twee verschillende manieren om administratieve applicaties uit te voeren met Linux. We kunnen de superuser of root-gebruiker wijzigen met behulp van de su-opdracht, of we kunnen profiteren van de sudo-opdracht.

Wanneer we onze tijd op de terminal gebruiken, is sudo een van de belangrijke opdrachten die we vrij vaak zullen gebruiken. Het gebruik van de opdracht sudo in plaats van in te loggen omdat de rootgebruiker beter beschermd is, omdat we slechts een paar beheerdersrechten aan een enkele gebruiker kunnen verlenen zonder dat hij/zij op de hoogte is van het rootwachtwoord.

Hoe we het implementeren, hangt af van welke distro we gebruiken. Bij een paar distributies kan de rootgebruiker (zoals OpenSUSE, Red Hat , of Fedora ), terwijl een paar dat niet doen (zoals Debian En Ubuntu ).

Het gebruik van de sudo-opdracht is eenvoudig in zijn zeer eenvoudige vorm. We moeten bijvoorbeeld de dpkg uitvoeren voor het installeren van een softwarestuk. Als we gewoon de dpkg -i software.deb commando als de standaardgebruiker krijgen we een foutmelding dat de gebruiker geen rechten heeft om de opdracht uit te voeren.

Dat is de reden waarom standaardgebruikers standaard geen verschillende applicaties op een Linux-machine kunnen installeren. Als we een applicatie op de Linux-machine willen installeren, hebben we de rechten van een superuser nodig.

In plaats daarvan zullen we de sudo dpkg -i software.deb commando zodat we de installatie met succes kunnen uitvoeren.

Het sudo-commando installeren

Het pakket met sudo-opdrachten is vooraf geïnstalleerd op de meeste Linux-distributies. Om te bevestigen dat het pakket op ons systeem is geïnstalleerd, moeten de onderstaande stappen worden gevolgd:

  • Open eerst onze terminal.
  • Typ sudo en klik op de enter-knop.
  • Als we het sudo-pakket op ons systeem hebben geïnstalleerd, wordt er een kort bericht weergegeven.
  • Anders zullen we u hiervan op de hoogte stellen via een bericht, d.w.z. sudo-opdracht niet gevonden.
  • Als het pakket niet is geïnstalleerd, kunnen we dit pakket eenvoudig installeren door de pakketbeheerder van overdistributie toe te passen.

Installeer Sudo op Fedora en CentOS

 $ yum install sudo 

Installeer Sudo op Debian en Ubuntu

 $ apt install sudo 

Linux sudo

Commando voor het bijwerken van sudo

Linux sudo