logo

Cum să porniți, să opriți și să reporniți serviciile în Linux folosind comanda systemctl

Serviciile de sistem joacă un rol crucial în funcționarea unui sistem Linux, gestionând diverse sarcini și procese în fundal.systemctl>este un instrument puternic de linie de comandă care permite utilizatorilor să gestioneze eficient aceste servicii. În acest articol, vom explora elementele de bază ale utilizăriisystemctl>pentru a porni, opri, reporni, activa, dezactiva și afișa starea serviciilor într-un mediu Linux.

Ce este systemctl?

Înainte de a aborda managementul serviciului, este esențial să înțelegeți elementele de bazăsystemctl>. Această comandă este folosită pentru a controla sistemul systemd și managerul de servicii, care este o componentă centrală în distribuțiile Linux moderne.



systemctl [command] [unit]>

Aici,

  • command> : Acțiune care trebuie efectuată (de exemplu, pornire, oprire, repornire, activare, dezactivare).
  • unit> : Serviciul sau unitatea care urmează să fie afectată.

Systemctl este un controler sau utilitatea Systemd (un sistem init cu un set de programe executate în fundal), cu servicii auxiliare în management, Aceste comenzi sunt executate în mod root dacă nu sunteți în mod rooting sistemul, solicitând parola de root.

Ce este un serviciu?

Un serviciu în calcul este un proces de fundal care realizează sarcini și funcții specifice fără intervenția utilizatorului. Serviciile pornesc adesea automat în timpul pornirii sistemului și rulează continuu pentru a oferi funcționalități precum servirea web, partajarea fișierelor sau monitorizarea sistemului. Acestea sunt gestionate de sistemul de operare și pot fi pornite, oprite sau repornite după cum este necesar. Serviciile vă ajută să vă asigurați că operațiunile esențiale sunt disponibile în mod constant. Exemplele includ servere web precum Apache, servere de baze de date precum MySQL, și servicii de înregistrare a sistemului.



Ce este un demon?

Un demon este un proces de fundal care rulează continuu pe un sistem Linux sau Unix. Îndeplinește sarcini fără interacțiunea directă a utilizatorului, deseori pornind automat la pornire. Exemplele comune includ servere web, servere de baze de date și instrumente de monitorizare a sistemului. Demonii au de obicei nume care se termină cu d, cum ar fihttpd>sausshd>. Acestea ajută la gestionarea eficientă a funcțiilor și serviciilor sistemului.

Ce este sistemul init?

Sistemul init este primul proces care rulează atunci când un sistem Linux pornește și este responsabil pentru inițializarea sistemului. Gestionează serviciile și procesele de sistem, gestionând pornirea, oprirea și repornirea acestora. Sistemele de init obișnuite includ SysVinit, Upstart și systemd. Sistemul init se asigură că toate serviciile necesare rulează corect și gestionează dependențele dintre ele. Continuă să ruleze în fundal pentru a monitoriza și gestiona procesele sistemului pe tot parcursul funcționării sistemului.

Unitățile din systemd

În systemd, unitățile sunt obiectele de bază pe care systemd le gestionează și le controlează. Acestea reprezintă resurse de sistem, cum ar fi servicii, temporizatoare, dispozitive și puncte de montare. Fiecare unitate este definită de un fișier de configurare cu un sufix specific, cum ar fi.service>pentru servicii sau.timer>pentru cronometre. Unitățile pot fi pornite, oprite, activate sau dezactivate folosind comenzile systemctl. Ele sunt esențiale pentru definirea modului în care sistemul pornește și gestionează diferite procese și resurse.



.unităţi de service în systemd

Systemd.service>unitățile sunt fișiere de configurare utilizate pentru a gestiona serviciile pe sistemele Linux. Ele definesc cum și când ar trebui pornite, oprite și repornite serviciile. Fiecare.service>fișierul conține detalii precum numele serviciului, descrierea și comanda de rulat. Aceste fișiere sunt de obicei localizate în/etc/systemd/system>sau/lib/systemd/system>. Gestionarea lor implică comenzi precumsystemctl start>,systemctl stop>, șisystemctl enable>.

Cum să găsiți toate unitățile systemd din sistem?

Pentru a enumera unitățile de sisteme disponibile sau pentru a lista toate serviciile din Linux, folosim următoarea comandă:

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

Cum să porniți un serviciu de sistem în Linux

Sintaxă:

3d în autocad
sudo systemctl start service.service>

Comanda Start servește pentru pornirea (activarea) a uneia sau mai multor unități specificate pe linia de comandă.

Exemplu:

sudo systemctl start mariadb>
pornire systemctl

Comandă Start

Cum să opriți un serviciu de sistem în Linux

Sintaxă:

sudo systemctl stop service.service>

Comanda stop servește pentru oprirea serviciului sau (dezactivarea) uneia sau mai multor unități specificate pe linia de comandă.

Exemplu:

sudo systemctl stop mariadb>
systemctl stop

Comandă Stop și Stare

Cum să afișați starea unui serviciu de sistem în Linux

Sintaxă:

sudo systemctl status service.service>

Starea comenzii servește la verificarea stării serviciului. Afișați informații concise despre starea timpului de execuție despre una sau mai multe unități, urmate de cele mai recente date de jurnal din jurnal. Dacă nu sunt specificate unități, afișați starea sistemului.

Exemplu:

sudo systemctl status mariadb>
starea systemctl

Stare comanda

Cum să reporniți un serviciu de sistem în Linux

Sintaxă:

sudo systemctl restart service.service>

Comanda restart servește la repornirea serviciului în execuție. Opriți și apoi porniți una sau mai multe unități specificate pe linia de comandă. Dacă unitățile nu funcționează încă, acestea vor fi pornite.

Exemplu:

sudo systemctl restart mariadb>
reporniți systemctl

Comanda Restart

Cum să activați un serviciu de sistem în Linux

Sintaxă:

sudo systemctl enable name_service.service>

Comanda de activare servește la executarea serviciului de la inițializare dacă constă din una sau mai multe unități sau instanțe de unitate. Acest lucru va crea un set de legături simbolice , așa cum este codificat în secțiunile [Instalare] ale fișierelor unității indicate. configurația managerului de sistem este reîncărcată (într-un mod echivalent cu daemon-reload), pentru a se asigura că modificările sunt luate în considerare imediat.

Exemplu

sudo systemctl enable mariadb>

activare systemctl

Comanda Activare

Stare comanda

Cum să dezactivați un serviciu de sistem în Linux

Sintaxă:

sudo systemctl disable name_service.service>

Comanda dezactivare servește la retragerea serviciului de la inițializarea uneia sau mai multor unități. Aceasta elimină toate legăturile simbolice către fișierele unității care susțin unitățile specificate din directorul de configurare a unității și, prin urmare, anulează orice modificări făcute prin activare sau link.

Exemplu:

javafx pe eclipse
sudo systemctl disable mariadb>

systemctl dezactivat

Comanda Dezactivare

Stare comanda

Închideți sau reporniți sistemul utilizând systemctl

Reporniți sistemul: Instruieștesystemd>pentru a reporni întregul sistem. Toate serviciile sunt oprite, iar sistemul trece printr-un proces complet de oprire înainte de repornire.

sudo systemctl reboot>

Opriți sistemul: Îi spune systemd să oprească mașina. Toate serviciile și procesele sunt oprite, iar sistemul este oprit în siguranță.

sudo systemctl shutdown>

jurnalctl

journalctl>este o comandă folosită în sistemele Linux pentru a interoga și afișa jurnalele dinsystemd>jurnal, care este un serviciu de sistem care colectează și stochează date de înregistrare. Iată un ghid simplu despre cum se utilizeazăjournalctl>:

journalctl -n 10>este folosit pentru a afișa ultimele 10 intrări (linii) din jurnalul systemd. Iată o detaliere a ceea ce face fiecare parte a comenzii:

  • journalctl> : Invocăjournalctl>comanda, care este folosită pentru a interoga și afișa jurnalele din jurnalul systemd.
  • -n 10> : Specifică numărul de linii de afișat. În acest caz,-n 10>instruiestejournalctl>pentru a afișa ultimele 10 înregistrări din jurnal.
journalctl -n 10>

Securizarea unui serviciu folosind systemd este o practică esențială pentru a vă proteja sistemul împotriva potențialelor vulnerabilități și a accesului neautorizat. Iată un ghid simplificat despre cum să realizați acest lucru:

1. Înțelegeți fișierele unității de service

  • Configurare serviciu : Fiecare serviciu din systemd este gestionat de un fișier unitar, situat de obicei în/etc/systemd/system/>. Aceste fișiere definesc modul în care funcționează serviciul, inclusiv comportamentul său de pornire, limitele de resurse și setările de securitate.

2. Restricționați permisiunile de service

  • Permisiuni de utilizator și de grup : Specificați utilizatorul și grupul în care rulează serviciul. Evitați utilizarea utilizatorului root ori de câte ori este posibil pentru a minimiza impactul breșelor de securitate.

3. Utilizați caracteristicile de securitate systemd

  • PrivateTmp : Activați privat/tmp>și/var/tmp>directoare pentru serviciu pentru a preveni scurgerea de informații între diferite servicii.
  • ProtectSystem și ProtectHome : Setați aceste opțiuni pentru a restricționa accesul la directoarele de sistem și, respectiv, la directoarele de acasă ale utilizatorilor, pentru a îmbunătăți securitatea sistemului.
  • ReadOnlyPaths și ReadWritePaths : Specificați din ce directoare poate citi sau scrie serviciul. Limitarea accesului la scriere poate preveni modificările neintenționate ale fișierelor critice.

4. Limitați utilizarea resurselor

  • Limitați CPU și memorie : UtilizareCPUQuota>șiMemoryLimit>opțiuni pentru a restricționa utilizarea CPU și a memoriei serviciului, prevenind atacurile de epuizare a resurselor.

5. Activați Controlul rețelei

  • Restricționați accesul la rețea : FolosiRestrictAddressFamilies>,IPAddressAllow>, șiIPAddressDeny>opțiuni pentru a controla accesul la rețea pentru serviciu, limitând expunerea acestuia la potențiale amenințări.

6. Setați permisiunile sistemului de fișiere

  • Permisiunile sistemului de fișiere : Asigurați-vă că fișierele și directoarele serviciului au permisiunile corespunzătoare (chmod>) și proprietate (chown>) pentru a preveni accesul neautorizat.

7. Actualizați și monitorizați în mod regulat

java vs c++
  • Păstrați sistemul actualizat : actualizați în mod regulat sistemul și software-ul de service pentru a corecta vulnerabilitățile de securitate și pentru a vă asigura că măsurile de securitate rămân eficiente.
  • Monitorizarea jurnalelor : Monitorizați jurnalele de jurnal de sistem (journalctl>) pentru orice activități suspecte sau evenimente legate de securitate și luați măsurile adecvate dacă este necesar.

Concluzie

Am discutat despre systemctl, care este un instrument vital de linie de comandă pentru gestionarea serviciilor de sistem în Linux, jucând un rol crucial în sarcini precum pornirea, oprirea, repornirea, activarea și dezactivarea serviciilor. Acest articol a oferit un ghid cuprinzător pentru systemctl, acoperind sintaxa și comenzile taste. De la listarea unităților systemd disponibile până la activarea sau dezactivarea pornirii automate, fiecare comandă contribuie la gestionarea eficientă a serviciilor. Articolul a abordat, de asemenea, întrebări frecvente, oferind soluții practice pentru sarcini precum verificarea stării serviciului, pornirea, oprirea și repornirea serviciilor și activarea sau dezactivarea pornirii automate. În general, înțelegerea și stăpânirea comenzilor systemctl sunt esențiale pentru Administratorii Linux pentru a asigura stabilitatea si performanta optima a sistemelor lor.

Systemctl – Întrebări frecvente

Ce este un serviciu Linux?

Un serviciu Linux este un proces sau o aplicație de fundal care rulează independent de interacțiunea utilizatorului, oferind funcționalități specifice sau efectuând sarcini de sistem. Este gestionat de sistemul init, de obicei systemd, și poate fi pornit, oprit și gestionat folosind comenzi precumsystemctl>.

Care este diferența dintre Systemctl și service?

systemctl>este un instrument de linie de comandă folosit pentru a gestiona serviciile de sistem, în timp ceservice>este o legătură simbolică cătresystemctl>pe multe sisteme, oferind compatibilitate cu scripturi de init mai vechi.

Cum se verifică starea serviciului în Linux?

Folosiți ` systemctl status `> pentru a vedea dacă serviciul rulează, activ (oprit recent) sau inactiv (niciodată pornit). Acest lucru dezvăluie informații importante, cum ar fi utilizarea memoriei și conexiunile active.

Cum pornesc, opresc, repornesc un serviciu?

Pentru pornire , utilizare :

sudo systemctl start>

Pentru oprire , utilizare :

sudo systemctl stop>

Pentru a reporni , utilizare :

sudo systemctl restart>

Notă : Nu uitați să înlocuiți>cu numele serviciului real.

Cum fac ca un serviciu să pornească automat la pornire?

Utilizaresudo `> systemctl enable `> pentru a seta serviciul să pornească automat la pornirea sistemului.

Pentru a dezactiva pornirea automată, utilizați ` sudo systemctl disable `> .