logo

Sådan starter, stopper og genstarter tjenester i Linux ved hjælp af systemctl-kommando

Systemtjenester spiller en afgørende rolle i et Linux-systems funktion og håndterer forskellige opgaver og processer i baggrunden.systemctl>er et kraftfuldt kommandolinjeværktøj, der giver brugerne mulighed for at administrere disse tjenester effektivt. I denne artikel vil vi udforske det grundlæggende ved brugsystemctl>at starte, stoppe, genstarte, aktivere, deaktivere og vise status for tjenester i et Linux-miljø.

Hvad er systemctl?

Før du dykker ned i servicestyring, er det vigtigt at forstå det grundlæggendesystemctl>. Denne kommando bruges til at styre systemd system og service manager, som er en central komponent i moderne Linux distributioner.



systemctl [command] [unit]>

Her,

  • command> : Handling, der skal udføres (f.eks. start, stop, genstart, aktivér, deaktiver).
  • unit> : Den tjeneste eller enhed, der skal påvirkes.

Systemctl er en controller eller nytte af Systemd (et init-system med et sæt programmer udført i baggrunden), med auxiliary i administrationstjenester, Disse kommandoer udføres i mode root, hvis du ikke mode rooting systemet, anmoder om adgangskoden til root.

Hvad er en service?

En tjeneste inden for computing er en baggrundsproces, der udfører specifikke opgaver og funktioner uden brugerindblanding. Tjenester starter ofte automatisk under systemstart og kører kontinuerligt for at levere funktioner såsom webservering, fildeling eller systemovervågning. De administreres af operativsystemet og kan startes, stoppes eller genstartes efter behov. Tjenester hjælper med at sikre, at væsentlige operationer er konsekvent tilgængelige. Eksempler omfatter webservere som Apache, databaseservere som MySQL, og systemlogningstjenester.



Hvad er en dæmon?

En dæmon er en baggrundsproces, der kører kontinuerligt på et Linux- eller Unix-system. Den udfører opgaver uden direkte brugerinteraktion, og starter ofte automatisk ved opstart. Almindelige eksempler omfatter webservere, databaseservere og systemovervågningsværktøjer. Dæmoner har normalt navne, der slutter med d, ligesomhttpd>ellersshd>. De hjælper med at administrere systemfunktioner og -tjenester effektivt.

Hvad er init-systemet?

Init-systemet er den første proces, der kører, når et Linux-system starter op og er ansvarlig for at initialisere systemet. Den administrerer systemtjenester og -processer og håndterer deres start, stop og genstart. Almindelige init-systemer inkluderer SysVinit, Upstart og systemd. Init-systemet sikrer, at alle nødvendige tjenester kører korrekt og styrer afhængigheder mellem dem. Det fortsætter med at køre i baggrunden for at overvåge og styre systemprocesser gennem hele systemets drift.

Enheder i systemd

I systemd er enheder de grundlæggende objekter, som systemd administrerer og kontrollerer. De repræsenterer systemressourcer såsom tjenester, timere, enheder og monteringspunkter. Hver enhed er defineret af en konfigurationsfil med et specifikt suffiks, f.eks.service>for tjenester eller.timer>for timere. Enheder kan startes, stoppes, aktiveres eller deaktiveres ved hjælp af systemctl-kommandoer. De er afgørende for at definere, hvordan systemet starter og administrerer forskellige processer og ressourcer.



.serviceenheder i systemd

Systemd.service>enheder er konfigurationsfiler, der bruges til at administrere tjenester på Linux-systemer. De definerer, hvordan og hvornår tjenester skal startes, stoppes og genstartes. Hver.service>fil indeholder detaljer som tjenestens navn, beskrivelse og kommandoen, der skal køres. Disse filer er typisk placeret i/etc/systemd/system>eller/lib/systemd/system>. Håndtering af dem involverer kommandoer somsystemctl start>,systemctl stop>, ogsystemctl enable>.

Hvordan finder jeg alle systemd enheder i systemet?

For at liste tilgængelige systemenheder eller liste alle tjenester i Linux bruger vi følgende kommando:

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

Sådan starter du en systemtjeneste i Linux

Syntaks:

konverter streng til interger
sudo systemctl start service.service>

Kommandoen start tjener til at starte (aktivere) en eller flere enheder angivet på kommandolinjen.

Eksempel:

sudo systemctl start mariadb>
systemctl start

Kommando Start

Sådan stopper du en systemtjeneste i Linux

Syntaks:

sudo systemctl stop service.service>

Kommandostoppet tjener til at stoppe tjenesten eller (deaktivere) en eller flere enheder angivet på kommandolinjen.

Eksempel:

sudo systemctl stop mariadb>
systemctl stop

Kommando Stop og Status

Sådan vises status for en systemtjeneste i linux

Syntaks:

sudo systemctl status service.service>

Kommandostatus tjener til at kontrollere status for tjenesten. Vis kortfattede runtime-statusoplysninger om en eller flere enheder efterfulgt af de seneste logdata fra journalen. Vis systemstatus, hvis der ikke er angivet enheder.

Eksempel:

sudo systemctl status mariadb>
systemctl status

Kommandostatus

Sådan genstartes en systemtjeneste i Linux

Syntaks:

sudo systemctl restart service.service>

Kommandoen genstart tjener til at genstarte tjenesten, der udføres. Stop og start derefter en eller flere enheder angivet på kommandolinjen. Hvis enhederne ikke kører endnu, vil de blive startet.

Eksempel:

sudo systemctl restart mariadb>
systemctl genstart

Kommando Genstart

Sådan aktiveres en systemtjeneste i Linux

Syntaks:

sudo systemctl enable name_service.service>

Enable-kommandoen tjener til at udføre tjenesten siden initialiseringen, hvis den består af en eller flere enheder eller enhedsforekomster. Dette vil skabe et sæt af symbolske links , som kodet i [Install]-sektionerne i de angivne enhedsfiler. systemadministratorens konfiguration genindlæses (på en måde svarende til daemon-reload), for at sikre, at ændringerne tages i betragtning med det samme.

Eksempel

sudo systemctl enable mariadb>

systemctl aktivere

Kommando Aktiver

Kommandostatus

Sådan deaktiveres en systemtjeneste i Linux

Syntaks:

sudo systemctl disable name_service.service>

Deaktiver kommandoen tjener til at trække tjenesten tilbage siden initialiseringen af ​​en eller flere enheder. Dette fjerner alle symbollinks til enhedsfilerne, der understøtter de angivne enheder fra enhedskonfigurationsbiblioteket og fortryder derfor eventuelle ændringer foretaget ved at aktivere eller linke.

Eksempel:

Hent youtube-videoer med vlc
sudo systemctl disable mariadb>

systemctl deaktiver

Kommando deaktiver

Kommandostatus

Luk eller genstart systemet ved hjælp af systemctl

Genstart systemet: Det instruerersystemd>for at genstarte hele systemet. Alle tjenester stoppes, og systemet gennemgår en komplet nedlukningsproces, før det genstartes.

sudo systemctl reboot>

Sluk systemet: Det fortæller systemd at slukke for maskinen. Alle tjenester og processer stoppes, og systemet er sikkert slukket.

sudo systemctl shutdown>

journalctl

journalctl>er en kommando, der bruges i Linux-systemer for at forespørge og vise logfiler frasystemd>journal, som er en systemtjeneste, der indsamler og gemmer logdata. Her er en enkel guide til, hvordan du brugerjournalctl>:

journalctl -n 10>bruges til at vise de sidste 10 posteringer (linjer) fra systemd-kladden. Her er en oversigt over, hvad hver del af kommandoen gør:

  • journalctl> : Påberåber sigjournalctl>kommando, som bruges til at forespørge og vise logfiler fra systemd-journalen.
  • -n 10> : Angiver antallet af linjer, der skal vises. I dette tilfælde,-n 10>instruererjournalctl>for at vise de sidste 10 posteringer fra journalen.
journalctl -n 10>

hadoop tutorial

Sikring af en tjeneste ved hjælp af systemd er en vigtig praksis for at beskytte dit system mod potentielle sårbarheder og uautoriseret adgang. Her er en forenklet guide til, hvordan du opnår dette:

1. Forstå serviceenhedsfiler

  • Tjenestekonfiguration : Hver tjeneste i systemd administreres af en enhedsfil, typisk placeret i/etc/systemd/system/>. Disse filer definerer, hvordan tjenesten fungerer, herunder dens opstartsadfærd, ressourcebegrænsninger og sikkerhedsindstillinger.

2. Begræns servicetilladelser

  • Bruger- og gruppetilladelser : Angiv den bruger og gruppe, som tjenesten kører under. Undgå at bruge root-brugeren når det er muligt for at minimere virkningen af ​​sikkerhedsbrud.

3. Brug systemd sikkerhedsfunktioner

  • PrivatTmp : Aktiver privat/tmp>og/var/tmp>mapper til tjenesten for at forhindre informationslækage mellem forskellige tjenester.
  • ProtectSystem og ProtectHome : Indstil disse indstillinger for at begrænse adgangen til henholdsvis systemmapper og brugerhjemmemapper for at forbedre systemsikkerheden.
  • ReadOnlyPaths og ReadWritePaths : Angiv, hvilke mapper tjenesten kan læse fra eller skrive til. Begrænsning af skriveadgang kan forhindre utilsigtede ændringer af kritiske filer.

4. Begræns ressourceforbrug

  • Begræns CPU og hukommelse : BrugCPUQuota>ogMemoryLimit>muligheder for at begrænse tjenestens CPU- og hukommelsesbrug, hvilket forhindrer ressourceudmattelsesangreb.

5. Aktiver netværkskontroller

  • Begræns netværksadgang : BrugRestrictAddressFamilies>,IPAddressAllow>, ogIPAddressDeny>muligheder for at kontrollere netværksadgang for tjenesten, hvilket begrænser dens eksponering for potentielle trusler.

6. Indstil filsystemtilladelser

  • Filsystemtilladelser : Sørg for, at tjenestens filer og mapper har passende tilladelser (chmod>) og ejerskab (chown>) for at forhindre uautoriseret adgang.

7. Opdater og overvåg regelmæssigt

  • Hold systemet opdateret : Opdater jævnligt dit system og din servicesoftware for at rette sikkerhedssårbarheder og sikre, at dine sikkerhedsforanstaltninger forbliver effektive.
  • Overvåg logs : Overvåg systemd journal logs (journalctl>) for eventuelle mistænkelige aktiviteter eller sikkerhedsrelaterede begivenheder, og træffe passende foranstaltninger, hvis det er nødvendigt.

Konklusion

Vi diskuterede systemctl, som er et vigtigt kommandolinjeværktøj til styring af systemtjenester i Linux, som spiller en afgørende rolle i opgaver som at starte, stoppe, genstarte, aktivere og deaktivere tjenester. Denne artikel gav en omfattende guide til systemctl, der dækkede dets syntaks og nøglekommandoer. Fra en liste over tilgængelige systemd-enheder til at aktivere eller deaktivere automatisk opstart, bidrager hver kommando til effektiv servicestyring. Artiklen behandlede også almindelige spørgsmål og tilbød praktiske løsninger til opgaver såsom kontrol af servicestatus, start, stop og genstart af tjenester og aktivering eller deaktivering af automatisk opstart. Generelt er forståelse og beherskelse af systemctl-kommandoer afgørende for Linux administratorer for at sikre stabilitet og optimal ydeevne af deres systemer.

Systemctl – ofte stillede spørgsmål

Hvad er en Linux-tjeneste?

En Linux-tjeneste er en baggrundsproces eller -applikation, der kører uafhængigt af brugerinteraktion, som giver specifik funktionalitet eller udfører systemopgaver. Det styres af init-systemet, typisk systemd, og kan startes, stoppes og administreres ved hjælp af kommandoer som f.eks.systemctl>.

Hvad er forskellen mellem Systemctl og service?

systemctl>er et kommandolinjeværktøj, der bruges til at administrere systemtjenester, mensservice>er et symbolsk link tilsystemctl>på mange systemer, hvilket giver kompatibilitet med ældre init-scripts.

Hvordan tjekker man servicestatus i Linux?

Brug ` systemctl status `> for at se, om tjenesten kører, aktiv (for nylig stoppet) eller inaktiv (aldrig startet). Dette afslører vigtige oplysninger som hukommelsesbrug og aktive forbindelser.

Hvordan starter, stopper, genstarter jeg en tjeneste?

Til start , brug :

sudo systemctl start>

For at stoppe , brug :

sudo systemctl stop>

For at genstarte , brug :

sudo systemctl restart>

Bemærk : Husk at udskifte>med det faktiske servicenavn.

Hvordan får jeg en tjeneste til at starte automatisk ved opstart?

Brugsudo `> systemctl enable `> for at indstille tjenesten til at starte automatisk, når systemet starter.

For at deaktivere automatisk opstart, brug ` sudo systemctl disable `> .