De sudo
commando geeft een gebruiker superuser of root bevoegdheden. Ongetwijfeld heb je ze de toespraak “met grote kracht komt grote verantwoordelijkheid” gegeven. Hier leest u hoe u kunt controleren of ze hebben geluisterd of niet.
Het sudo-commando
De sudo
commando staat voor “vervangende gebruiker doen.” Hiermee kan een geautoriseerde persoon een opdracht uitvoeren alsof hij een andere gebruiker is. Er kunnen opdrachtregelparameters voor nodig zijn, waaronder de naam van de gebruiker door wie u de opdracht wilt laten uitvoeren. De meest voorkomende manier sudo
wordt gebruikt is om de opdrachtregelopties weg te laten en de standaardactie te gebruiken. Dit voert het commando effectief uit als de rootgebruiker.
Gebruiken sudo
op deze manier is speciale toestemming vereist. Alleen de bevoorrechten kunnen gebruiken sudo
. Wanneer u een moderne Linux-distributie installeert, wordt u gevraagd een root-wachtwoord in te stellen dat u kunt gebruiken sudo
. Toestemming hiervoor wordt verleend aan de gewone gebruiker die u tijdens de installatie aanmaakt. Dit is de voorkeursmanier om de toegang tot de mogelijkheden van de rootgebruiker af te handelen. De oude manier was om een rootgebruiker aan te maken en als hen in te loggen om je systeem te beheren.
Dit was een gevaarlijk scenario. Het was gemakkelijk om te vergeten of te lui te zijn om uit te loggen en weer in te loggen als je gewone gebruiker wanneer je geen rootrechten meer nodig had. Alle fouten die je in het terminalvenster als root hebt gemaakt, worden uitgevoerd, hoe ingrijpend ook. Dingen die door de shell zouden worden geblokkeerd als een gewone gebruiker ze zou proberen, zouden zonder twijfel worden uitgevoerd wanneer root erom vroeg. Het gebruik van het root-account in plaats van een regulier account is ook een veiligheidsrisico.
Gebruik makend van sudo
richt de geest. Je begeeft je in dezelfde gevaarlijke wateren, maar je kiest er bewust voor en hopelijk ben je er goed op gepast. U roept uw superuser-status alleen aan als u iets moet doen waarvoor ze nodig zijn.
Als je root-toegang openstelt voor andere gebruikers, wil je weten dat ze er net zoveel zorg voor dragen als jij. Je wilt niet dat ze roekeloos of speculatief opdrachten uitvoeren. De gezondheid en het welzijn van uw Linux-installatie zijn afhankelijk van bevoorrechte gebruikers die zich respectvol en verantwoordelijk gedragen.
Hier zijn verschillende manieren om hun rootgebruik te controleren.
Het auth.log-bestand
Sommige distributies houden een authenticatielogboek bij in een bestand met de naam “auth.log”. Met de komst en snelle acceptatie van systemd
, is de behoefte aan het bestand “auth.log” verwijderd. De systemd-journal
daemon consolideert de systeemlogboeken in een toen nieuw binair formaat en journalctl
biedt u een manier om de logboeken te onderzoeken of te ondervragen.
Als je een “auth.log”-bestand op je Linux-computer hebt staan, staat dat waarschijnlijk in de map “/var/log/”, hoewel bij sommige distributies de bestandsnaam en het pad “/var/log/audit/audit .log.”
U kunt het bestand openen in less
soortgelijk. Vergeet niet om het pad en de bestandsnaam aan te passen aan uw distributie, en wees voorbereid voor het geval uw Linux niet eens een authenticatiebestand aanmaakt.
Deze opdracht werkte op Ubuntu 22.04.
less /var/log/auth.log
Het logbestand wordt geopend en u kunt door het bestand bladeren of de in less ingebouwde zoekfaciliteiten gebruiken om te zoeken naar ‘sudo’.
Zelfs met behulp van de zoekfaciliteiten van less
kan het enige tijd duren om de sudo
inzendingen waarin u geïnteresseerd bent.
Laten we zeggen dat we willen zien wat een gebruiker heeft gebeld mary
heeft gebruikt sudo
voor. We kunnen het logbestand doorzoeken met grep
voor regels met “sudo” erin en leid de uitvoer door grep
opnieuw en zoek naar regels met “mary” erin.
Merk op sudo
voor grep en voor de naam van het logbestand.
sudo grep sudo /var/log/auth.log | grep "mary"
Dit geeft ons lijnen met “sudo” en “mary” erin.
We kunnen zien dat de gebruiker mary
is gegeven sudo
privileges om 15:25, en om 15:27 opent ze de fstab
bestand in een editor. Dat is het soort activiteit dat absoluut een diepere duik rechtvaardigt, te beginnen met een praatje met de gebruiker.
Journalctl gebruiken
De voorkeursmethode op systmd
-gebaseerde Linux-distributies is het gebruik van de journalctl
opdracht om systeemlogboeken te bekijken.
Als we de naam van een programma doorgeven aan journalctl
het zal de logbestanden doorzoeken op vermeldingen die verwijzingen naar dat programma bevatten. Omdat sudo
is een binair bestand op “/usr/bin/sudo” waaraan we dat kunnen doorgeven journactl
. De -e
(pager einde) optie vertelt journalctl
om de standaard file pager te openen. Meestal zal dit zijn less
. Het display schuift automatisch naar beneden om de meest recente invoer weer te geven.
sudo journalctl -e /usr/bin/sudo
De logboekvermeldingen die zijn voorzien sudo
worden vermeld in minder.
Gebruik de toets “Pijl naar rechts” om naar rechts te scrollen om de opdracht te zien die werd gebruikt bij elk van de aanroepen van sudo
. (Of rek uw terminalvenster uit zodat het breder is.)
En omdat de uitvoer wordt weergegeven in less
kunt u zoeken naar tekst zoals opdrachtnamen, gebruikersnamen en tijdstempels.
Het GNOME Logs-hulpprogramma gebruiken
Grafische desktopomgevingen bevatten meestal een manier om logboeken te bekijken. We zullen kijken naar het hulpprogramma GNOME-logbestanden. Om toegang te krijgen tot het logboekhulpprogramma, drukt u op de “Super” -toets links van de “spatiebalk”.
Typ “logboeken” in het zoekveld. Het pictogram “Logboeken” wordt weergegeven.
Klik op het pictogram om de applicatie “Logs” te starten.
Door op de categorieën in de zijbalk te klikken, worden de logberichten gefilterd op berichttype. Om gedetailleerdere selecties te maken, klikt u op de categorie ‘Alle’ in de zijbalk en vervolgens op het vergrootglaspictogram op de werkbalk. Voer een zoektekst in. We gaan zoeken naar ‘sudo’.
De lijst met gebeurtenissen wordt gefilterd om alleen die gebeurtenissen weer te geven die betrekking hebben op de sudo
opdracht. Een klein grijs blok aan het einde van elke regel bevat het aantal vermeldingen in die gebeurtenissessie. Klik op een regel om deze uit te vouwen.
We hebben op de bovenste regel geklikt om de details van de 24 inzendingen in die sessie te zien.
Met een beetje scrollen kunnen we dezelfde gebeurtenissen zien die we zagen toen we de journalctl
opdracht. Gebruiker mary
‘s onverklaarbare bewerkingssessie op de fstab
bestand is snel gevonden. We hadden kunnen zoeken op “mary”, maar dat zou ook andere vermeldingen bevatten dan haar gebruik van sudo
.
Niet iedereen heeft root-toegang nodig
Waar er een oprechte, verstandige eis is, geven sudo
privileges aan andere gebruikers kunnen zinvol zijn. Evenzo heeft het alleen zin om te controleren of ze deze bevoegdheden gebruiken of misbruiken, vooral net nadat ze ze hebben gekregen.