logo

Services starten, stoppen en opnieuw starten in Linux met behulp van systemctl Command

Systeemservices spelen een cruciale rol in het functioneren van een Linux-systeem, waarbij verschillende taken en processen op de achtergrond worden afgehandeld.systemctl>is een krachtige opdrachtregeltool waarmee gebruikers deze services effectief kunnen beheren. In dit artikel zullen we de basisbeginselen van het gebruik verkennensystemctl>voor het starten, stoppen, herstarten, inschakelen, uitschakelen en weergeven van de status van services in een Linux-omgeving.

Wat is systemctl?

Voordat u in servicemanagement duikt, is het essentieel dat u de basisbeginselen begrijptsystemctl>. Deze opdracht wordt gebruikt om het systemd-systeem en de servicemanager te besturen, wat een centraal onderdeel is in moderne Linux-distributies.



systemctl [command] [unit]>

Hier,

  • command> : Uit te voeren actie (bijvoorbeeld starten, stoppen, herstarten, inschakelen, uitschakelen).
  • unit> : De dienst of eenheid waarop het betrekking heeft.

Systemctl is een controller of nut van Systemd (een init-systeem met een reeks programma's die op de achtergrond worden uitgevoerd), met hulpdiensten in beheerservices. Deze opdrachten worden uitgevoerd in de modus root als u het systeem niet in de modus root, waarbij om het wachtwoord van root wordt gevraagd.

Wat is een dienst?

Een computerservice is een achtergrondproces dat specifieke taken en functies uitvoert zonder tussenkomst van de gebruiker. Services starten vaak automatisch tijdens het opstarten van het systeem en zijn continu actief om functionaliteiten te bieden zoals webserving, het delen van bestanden of systeemmonitoring. Ze worden beheerd door het besturingssysteem en kunnen indien nodig worden gestart, gestopt of opnieuw gestart. Services zorgen ervoor dat essentiële activiteiten consistent beschikbaar zijn. Voorbeelden hiervan zijn webservers zoals Apache, databaseservers zoals MySQL, En systeemregistratiediensten.



Wat is een daemon?

Een daemon is een achtergrondproces dat continu draait op een Linux- of Unix-systeem. Het voert taken uit zonder directe gebruikersinteractie en start vaak automatisch bij het opstarten. Veel voorkomende voorbeelden zijn webservers, databaseservers en systeemmonitoringtools. Daemons hebben meestal namen die eindigen op d, zoalshttpd>ofsshd>. Ze helpen systeemfuncties en -services efficiënt te beheren.

Wat is het init-systeem?

Het init-systeem is het eerste proces dat wordt uitgevoerd wanneer een Linux-systeem opstart en is verantwoordelijk voor het initialiseren van het systeem. Het beheert systeemservices en -processen en verzorgt het starten, stoppen en opnieuw opstarten ervan. Veelgebruikte init-systemen zijn SysVinit, Upstart en systemd. Het init-systeem zorgt ervoor dat alle noodzakelijke services correct werken en beheert de onderlinge afhankelijkheden. Het blijft op de achtergrond draaien om systeemprocessen tijdens de werking van het systeem te bewaken en te beheren.

Eenheden in systemd

In systemd zijn eenheden de basisobjecten die systemd beheert en controleert. Ze vertegenwoordigen systeembronnen zoals services, timers, apparaten en koppelpunten. Elke eenheid wordt gedefinieerd door een configuratiebestand met een specifiek achtervoegsel, zoals.service>voor diensten of.timer>voor timers. Eenheden kunnen worden gestart, gestopt, ingeschakeld of uitgeschakeld met behulp van systemctl-opdrachten. Ze zijn essentieel voor het definiëren van hoe het systeem verschillende processen en bronnen opstart en beheert.



.service-eenheden in systemd

Gesystematiseerd.service>eenheden zijn configuratiebestanden die worden gebruikt om services op Linux-systemen te beheren. Ze definiëren hoe en wanneer services moeten worden gestart, gestopt en opnieuw gestart. Elk.service>bestand bevat details zoals de naam van de service, de beschrijving en de opdracht die moet worden uitgevoerd. Deze bestanden bevinden zich meestal in/etc/systemd/system>of/lib/systemd/system>. Het beheren ervan omvat opdrachten zoalssystemctl start>,systemctl stop>, Ensystemctl enable>.

Hoe vind ik alle systeemeenheden in het systeem?

Om beschikbare systeemeenheden weer te geven of om alle services in Linux weer te geven, gebruiken we de volgende opdracht:

systemctl list-unit-files --type service -all>

Hoe u een systeemservice start in Linux

Syntaxis:

centos versus roodhoed
sudo systemctl start service.service>

Het commando start dient voor het starten (activeren) van een of meer eenheden die op de commandoregel zijn opgegeven.

Voorbeeld:

sudo systemctl start mariadb>
systemctl starten

Commando Start

Hoe u een systeemservice in Linux kunt stoppen

Syntaxis:

sudo systemctl stop service.service>

Het commando stop dient voor het stoppen van de dienst of (deactiveren) van een of meer eenheden die op de commandoregel zijn opgegeven.

Voorbeeld:

sudo systemctl stop mariadb>
systemctl stop

Commando Stop en Status

Hoe de status van een systeemservice in Linux wordt weergegeven

Syntaxis:

sudo systemctl status service.service>

De opdrachtstatus dient om de status van de dienst te controleren. Toon beknopte runtime-statusinformatie over een of meer eenheden, gevolgd door de meest recente loggegevens uit het journaal. Als er geen eenheden zijn opgegeven, geeft u de systeemstatus weer.

Voorbeeld:

sudo systemctl status mariadb>
systemctl-status

Commandostatus

Een systeemservice opnieuw opstarten in Linux

Syntaxis:

sudo systemctl restart service.service>

Het commando restart dient voor het herstarten van de service die wordt uitgevoerd. Stop en start vervolgens een of meer eenheden die op de opdrachtregel zijn opgegeven. Als de units nog niet draaien, worden ze gestart.

Voorbeeld:

sudo systemctl restart mariadb>
systemctl opnieuw opstarten

Commando Opnieuw opstarten

Hoe een systeemservice in Linux in te schakelen

Syntaxis:

sudo systemctl enable name_service.service>

Het enable-commando dient voor het uitvoeren van de service, aangezien de initialisatie uit een of meer eenheden of eenheidsinstanties bestaat. Hierdoor ontstaat een set van symlinks , zoals gecodeerd in de secties [Installeren] van de aangegeven eenheidsbestanden. de configuratie van de systeembeheerder wordt opnieuw geladen (op een manier die gelijkwaardig is aan daemon-reload), om ervoor te zorgen dat er onmiddellijk rekening wordt gehouden met de wijzigingen.

Voorbeeld

sudo systemctl enable mariadb>

systemctl inschakelen

Commando inschakelen

Commandostatus

Freddie Mercurius

Hoe een systeemservice in Linux uit te schakelen

Syntaxis:

sudo systemctl disable name_service.service>

Het uitschakelcommando dient voor het intrekken van de dienst sinds de initialisatie van een of meer eenheden. Hierdoor worden alle symlinks naar de eenheidsbestanden die de gespecificeerde eenheden ondersteunen, verwijderd uit de eenheidconfiguratiemap en worden dus alle wijzigingen ongedaan gemaakt door het inschakelen of koppelen.

Voorbeeld:

sudo systemctl disable mariadb>

systemctl uitschakelen

Commando Uitschakelen

Commandostatus

Sluit het systeem af of start het opnieuw op met systemctl

Start het systeem opnieuw op: Het instrueertsystemd>om het hele systeem opnieuw op te starten. Alle services worden gestopt en het systeem doorloopt een volledig afsluitproces voordat het opnieuw wordt opgestart.

sudo systemctl reboot>

Sluit het systeem af: Het vertelt systemd dat het de machine moet uitschakelen. Alle services en processen worden gestopt en het systeem wordt veilig uitgeschakeld.

sudo systemctl shutdown>

journaalctl

journalctl>is een commando dat wordt gebruikt in Linux-systemen om logboeken van de te bevragen en weer te gevensystemd>journal, een systeemservice die loggegevens verzamelt en opslaat. Hier is een eenvoudige handleiding voor het gebruikjournalctl>:

journalctl -n 10>wordt gebruikt om de laatste 10 boekingen (regels) uit het systeemjournaal weer te geven. Hier is een overzicht van wat elk deel van de opdracht doet:

  • journalctl> : Roept dejournalctl>opdracht, die wordt gebruikt voor het opvragen en weergeven van logboeken uit het systemd-journaal.
  • -n 10> : specificeert het aantal regels dat moet worden weergegeven. In dit geval,-n 10>instrueertjournalctl>om de laatste 10 vermeldingen uit het journaal weer te geven.
journalctl -n 10>

Het beveiligen van een dienst met systemd is een essentiële praktijk om uw systeem te beschermen tegen potentiële kwetsbaarheden en ongeautoriseerde toegang. Hier is een vereenvoudigde handleiding over hoe u dit kunt bereiken:

1. Begrijp de service-eenheidbestanden

  • Serviceconfiguratie : Elke service in systemd wordt beheerd door een eenheidsbestand, meestal gelegen in/etc/systemd/system/>. Deze bestanden definiëren hoe de service werkt, inclusief het opstartgedrag, de resourcelimieten en de beveiligingsinstellingen.

2. Beperk servicemachtigingen

  • Gebruikers- en groepsrechten : Geef de gebruiker en groep op waaronder de service wordt uitgevoerd. Vermijd waar mogelijk het gebruik van de rootgebruiker om de impact van beveiligingsinbreuken te minimaliseren.

3. Maak gebruik van systeembeveiligingsfuncties

  • PrivéTmp : Privé inschakelen/tmp>En/var/tmp>mappen voor de dienst om het lekken van informatie tussen verschillende diensten te voorkomen.
  • ProtectSystem en ProtectHome : stel deze opties in om de toegang tot respectievelijk systeemmappen en thuismappen van gebruikers te beperken, om de systeembeveiliging te verbeteren.
  • ReadOnlyPaths en ReadWritePaths : Geef op van welke mappen de service kan lezen of waarnaar kan schrijven. Door de schrijftoegang te beperken, kunnen onbedoelde wijzigingen aan kritieke bestanden worden voorkomen.

4. Beperk het gebruik van hulpbronnen

java samenvoegen
  • Beperk CPU en geheugen : GebruikCPUQuota>EnMemoryLimit>opties om het CPU- en geheugengebruik van de service te beperken, waardoor aanvallen met uitputting van bronnen worden voorkomen.

5. Schakel netwerkbeheer in

  • Beperk netwerktoegang : GebruikRestrictAddressFamilies>,IPAddressAllow>, EnIPAddressDeny>opties om de netwerktoegang voor de dienst te controleren, waardoor de blootstelling aan potentiële bedreigingen wordt beperkt.

6. Stel de bestandssysteemmachtigingen in

  • Machtigingen voor bestandssysteem : Zorg ervoor dat de bestanden en mappen van de service de juiste machtigingen hebben (chmod>) en eigendom (chown>) om ongeautoriseerde toegang te voorkomen.

7. Regelmatig bijwerken en controleren

  • Houd het systeem bijgewerkt : Update uw systeem- en servicesoftware regelmatig om beveiligingsproblemen te verhelpen en ervoor te zorgen dat uw beveiligingsmaatregelen effectief blijven.
  • Logboeken bewaken : Systeemlogboeklogboeken bewaken (journalctl>) op eventuele verdachte activiteiten of veiligheidsgerelateerde gebeurtenissen en neem indien nodig passende maatregelen.

Conclusie

We bespraken systemctl, een essentieel opdrachtregelprogramma voor het beheren van systeemservices in Linux, dat een cruciale rol speelt bij taken zoals het starten, stoppen, opnieuw opstarten, inschakelen en uitschakelen van services. Dit artikel biedt een uitgebreide handleiding voor systemctl, waarin de syntaxis en toetsopdrachten worden behandeld. Van het weergeven van beschikbare systeemeenheden tot het in- of uitschakelen van automatisch opstarten, elke opdracht draagt ​​bij aan effectief servicebeheer. Het artikel ging ook in op veelgestelde vragen en bood praktische oplossingen voor taken zoals het controleren van de servicestatus, het starten, stoppen en opnieuw opstarten van services, en het in- of uitschakelen van automatisch opstarten. Over het algemeen zijn het begrijpen en beheersen van systemctl-opdrachten essentieel voor Linux-beheerders om de stabiliteit en optimale prestaties van hun systemen te garanderen.

Systemctl – Veelgestelde vragen

Wat is een Linux-service?

Een Linux-service is een achtergrondproces of -toepassing die onafhankelijk van gebruikersinteractie draait en specifieke functionaliteit biedt of systeemtaken uitvoert. Het wordt beheerd door het init-systeem, meestal systemd, en kan worden gestart, gestopt en beheerd met behulp van opdrachten zoalssystemctl>.

Wat is het verschil tussen Systemctl en service?

systemctl>is een opdrachtregelprogramma dat wordt gebruikt om systemd-services te beheren, terwijlservice>is een symbolische link naarsystemctl>op veel systemen, waardoor compatibiliteit met oudere init-scripts wordt geboden.

Hoe de servicestatus in Linux controleren?

Gebruik ` systemctl status `> om te zien of de service actief, actief (onlangs gestopt) of inactief (nooit gestart) is. Dit onthult belangrijke informatie zoals geheugengebruik en actieve verbindingen.

Hoe start, stop en herstart ik een service?

Om te beginnen , gebruik :

sudo systemctl start>

Voor het stoppen , gebruik :

sudo systemctl stop>

Herstarten , gebruik :

sudo systemctl restart>

Opmerking : Vergeet niet te vervangen>met de werkelijke servicenaam.

Hoe zorg ik ervoor dat een service automatisch start bij het opstarten?

Gebruiksudo `> systemctl enable `> om de service zo in te stellen dat deze automatisch wordt gestart wanneer het systeem opstart.

Om automatisch opstarten uit te schakelen, gebruikt u ` sudo systemctl disable `> .