Els serveis del sistema tenen un paper crucial en el funcionament d'un sistema Linux, gestionant diverses tasques i processos en segon pla.systemctl>és una potent eina de línia d'ordres que permet als usuaris gestionar aquests serveis de manera eficaç. En aquest article, explorarem els conceptes bàsics de l'ússystemctl>per iniciar, aturar, reiniciar, habilitar, desactivar i mostrar l'estat dels serveis en un entorn Linux.
Què és systemctl?
Abans de capbussar-se en la gestió del servei, és essencial entendre els fonaments bàsicssystemctl>. Aquesta ordre s'utilitza per controlar el sistema systemd i el gestor de serveis, que és un component central en les distribucions de Linux modernes.
systemctl [command] [unit]>
Aquí,
-
command>: Acció que cal dur a terme (p. ex., iniciar, aturar, reiniciar, habilitar, desactivar). -
unit>: El servei o unitat a afectar.
Systemctl és un controlador o utilitat de Systemd (un sistema d'inici amb un conjunt de programes executats en segon pla), amb auxiliars en serveis de gestió, Aquestes ordres s'executen en mode root si no esteu en mode arrelant el sistema, sol·licitant la contrasenya de root.
Què és un servei?
Un servei en informàtica és un procés en segon pla que realitza tasques i funcions específiques sense la intervenció de l'usuari. Els serveis sovint s'inicien automàticament durant l'arrencada del sistema i s'executen contínuament per oferir funcionalitats com ara el servei web, l'ús compartit de fitxers o la supervisió del sistema. El sistema operatiu els gestiona i es poden iniciar, aturar o reiniciar segons sigui necessari. Els serveis ajuden a garantir que les operacions essencials estiguin disponibles de manera coherent. Alguns exemples inclouen servidors web com Apache, servidors de bases de dades com MySQL, i serveis de registre del sistema.
Què és un dimoni?
Un dimoni és un procés en segon pla que s'executa contínuament en un sistema Linux o Unix. Realitza tasques sense interacció directa de l'usuari, sovint començant automàticament a l'arrencada. Els exemples habituals inclouen servidors web, servidors de bases de dades i eines de supervisió del sistema. Els dimonis solen tenir noms que acaben amb d, comhttpd>osshd>. Ajuden a gestionar les funcions i els serveis del sistema de manera eficient.
Què és el sistema d'inici?
El sistema d'inici és el primer procés que s'executa quan s'engega un sistema Linux i s'encarrega d'inicialitzar el sistema. Gestiona els serveis i processos del sistema, gestionant-ne l'inici, l'aturada i el reinici. Els sistemes d'inici comuns inclouen SysVinit, Upstart i systemd. El sistema d'inici assegura que tots els serveis necessaris funcionen correctament i gestiona les dependències entre ells. Continua executant-se en segon pla per supervisar i gestionar els processos del sistema durant el funcionament del sistema.
Unitats en systemd
A systemd, les unitats són els objectes bàsics que systemd gestiona i controla. Representen recursos del sistema com ara serveis, temporitzadors, dispositius i punts de muntatge. Cada unitat està definida per un fitxer de configuració amb un sufix específic, com ara.service>per serveis o.timer>per temporitzadors. Les unitats es poden iniciar, aturar, habilitar o desactivar mitjançant les ordres systemctl. Són essencials per definir com el sistema arrenca i gestiona diversos processos i recursos.
.unitats de servei a systemd
Systemd.service>Les unitats són fitxers de configuració utilitzats per gestionar serveis en sistemes Linux. Defineixen com i quan s'han d'iniciar, aturar i reiniciar els serveis. Cadascú.service>El fitxer conté detalls com el nom del servei, la descripció i l'ordre a executar. Aquests fitxers es troben normalment a/etc/systemd/system>o/lib/systemd/system>. Gestionar-los implica ordres comsystemctl start>,systemctl stop>, isystemctl enable>.
Com trobar totes les unitats systemd del sistema?
Per llistar les unitats de sistemes disponibles o per llistar tots els serveis a Linux, utilitzem l'ordre següent:
systemctl list-unit-files --type service -all>
Com iniciar un servei del sistema a Linux
Sintaxi:
parafraseja si per rudyard kipling
sudo systemctl start service.service>
L'ordre start serveix per iniciar (activar) una o més unitats especificades a la línia d'ordres.
Exemple:
sudo systemctl start mariadb>

Comandes d'inici
Com aturar un servei del sistema a Linux
Sintaxi:
sudo systemctl stop service.service>
L'ordre stop serveix per aturar el servei o (desactivar) una o més unitats especificades a la línia d'ordres.
Exemple:
sudo systemctl stop mariadb>

Comandament de parada i estat
Com mostrar l'estat d'un servei del sistema a Linux
Sintaxi:
sudo systemctl status service.service>
L'estat de l'ordre serveix per comprovar l'estat del servei. Mostra informació sobre l'estat del temps d'execució sobre una o més unitats, seguida de les dades de registre més recents del diari. Si no s'especifica cap unitat, mostra l'estat del sistema.
Exemple:
sudo systemctl status mariadb>

Estat de l'ordre
Com reiniciar un servei del sistema a Linux
Sintaxi:
sudo systemctl restart service.service>
L'ordre restart serveix per reiniciar el servei en execució. Atureu i inicieu una o més unitats especificades a la línia d'ordres. Si les unitats encara no estan en funcionament, s'iniciaran.
Exemple:
sudo systemctl restart mariadb>

Reiniciar l'ordre
Com habilitar un servei del sistema a Linux
Sintaxi:
sudo systemctl enable name_service.service>
L'ordre enable serveix per executar el servei des de la inicialització si consta d'una o més unitats o instàncies d'unitat. Això crearà un conjunt de enllaços simbòlics , tal com es codifica a les seccions [Instal·lar] dels fitxers d'unitat indicats. es torna a carregar la configuració del gestor del sistema (d'una manera equivalent a la recàrrega del dimoni), per tal de garantir que els canvis es tinguin en compte immediatament.
Exemple
sudo systemctl enable mariadb>

Comanda Habilita

Estat de l'ordre
Com desactivar un servei del sistema a Linux
Sintaxi:
sudo systemctl disable name_service.service>
L'ordre disable serveix per retirar el servei des de la inicialització d'una o més unitats. Això elimina tots els enllaços simbòlics als fitxers d'unitat que fan una còpia de seguretat de les unitats especificades del directori de configuració de la unitat i, per tant, es desfereixen els canvis fets mitjançant l'habilitació o l'enllaç.
Exemple:
sudo systemctl disable mariadb>

Comandament Desactivar

Estat de l'ordre
img css align
Apagueu o reinicieu el sistema amb systemctl
Reinicieu el sistema: S'instrueixsystemd>per reiniciar tot el sistema. Tots els serveis s'aturen i el sistema passa per un procés d'aturada complet abans de reiniciar-se.
sudo systemctl reboot>
Apagueu el sistema: Li diu a systemd que apagui la màquina. Tots els serveis i processos estan aturats i el sistema s'apaga de manera segura.
sudo systemctl shutdown>
diarictl
journalctl>és una ordre utilitzada en sistemes Linux per consultar i mostrar els registres delsystemd>journal, que és un servei del sistema que recull i emmagatzema dades de registre. Aquí teniu una guia senzilla sobre com utilitzar-lajournalctl>:
journalctl -n 10>s'utilitza per mostrar les últimes 10 entrades (línies) del diari systemd. Aquí teniu un desglossament del que fa cada part de l'ordre:
-
journalctl>: Invoca eljournalctl>comanda, que s'utilitza per consultar i mostrar els registres del diari systemd. -
-n 10>: Especifica el nombre de línies a mostrar. En aquest cas,-n 10>instrueixjournalctl>per mostrar les últimes 10 entrades de la revista.
journalctl -n 10>
Protegir un servei amb systemd és una pràctica essencial per protegir el vostre sistema contra possibles vulnerabilitats i accés no autoritzat. Aquí teniu una guia simplificada sobre com fer-ho:
1. Entendre els fitxers de la unitat de servei
- Configuració del servei : cada servei de systemd està gestionat per un fitxer d'unitat, que normalment es troba a
/etc/systemd/system/>. Aquests fitxers defineixen com funciona el servei, inclòs el seu comportament d'inici, els límits de recursos i la configuració de seguretat.
2. Restringeix els permisos de servei
- Permisos d'usuari i grup : Especifiqueu l'usuari i el grup en què s'executa el servei. Eviteu utilitzar l'usuari root sempre que sigui possible per minimitzar l'impacte de les infraccions de seguretat.
3. Utilitzeu les funcions de seguretat systemd
- PrivateTmp : activa el privat
/tmp>i/var/tmp>directoris del servei per evitar filtracions d'informació entre diferents serveis. - ProtectSystem i ProtectHome : configureu aquestes opcions per restringir l'accés als directoris del sistema i als directoris d'inici dels usuaris, respectivament, per millorar la seguretat del sistema.
- ReadOnlyPaths i ReadWritePaths : Especifiqueu quins directoris pot llegir o escriure el servei. Limitar l'accés d'escriptura pot evitar modificacions no desitjades als fitxers crítics.
4. Limitar l'ús de recursos
- Limiteu la CPU i la memòria : Ús
CPUQuota>iMemoryLimit>opcions per restringir l'ús de la CPU i la memòria del servei, evitant atacs d'esgotament de recursos.
5. Habiliteu els controls de xarxa
- Restringeix l'accés a la xarxa : Utilitzar
RestrictAddressFamilies>,IPAddressAllow>, iIPAddressDeny>opcions per controlar l'accés a la xarxa per al servei, limitant la seva exposició a potencials amenaces.
6. Establiu els permisos del sistema de fitxers
- Permisos del sistema de fitxers : Assegureu-vos que els fitxers i directoris del servei tinguin els permisos adequats (
chmod>) i propietat (chown>) per evitar l'accés no autoritzat.
7. Actualitzar i supervisar periòdicament
- Mantenir el sistema actualitzat : actualitzeu regularment el vostre sistema i programari de servei per corregir les vulnerabilitats de seguretat i assegurar-vos que les vostres mesures de seguretat segueixen sent efectives.
- Registres de seguiment : Supervisa els registres de diari del sistema (
journalctl>) per a qualsevol activitat sospitosa o esdeveniment relacionat amb la seguretat, i prendre les mesures oportunes si cal.
Conclusió
Hem parlat de systemctl, que és una eina de línia d'ordres vital per gestionar els serveis del sistema a Linux, que té un paper crucial en tasques com ara iniciar, aturar, reiniciar, habilitar i desactivar serveis. Aquest article va proporcionar una guia completa de systemctl, que cobria la seva sintaxi i les ordres de tecla. Des de llistar les unitats systemd disponibles fins a activar o desactivar l'inici automàtic, cada comanda contribueix a una gestió eficaç del servei. L'article també abordava preguntes habituals, oferint solucions pràctiques per a tasques com ara comprovar l'estat del servei, iniciar, aturar i reiniciar serveis i habilitar o desactivar l'inici automàtic. En general, la comprensió i el domini de les ordres systemctl són essencials Administradors de Linux per garantir l'estabilitat i el rendiment òptim dels seus sistemes.
Systemctl - Preguntes freqüents
Què és un servei Linux?
Un servei Linux és un procés o aplicació en segon pla que s'executa independentment de la interacció de l'usuari, proporcionant una funcionalitat específica o realitzant tasques del sistema. El gestiona el sistema init, normalment systemd, i es pot iniciar, aturar i gestionar mitjançant ordres com ara
systemctl>.
Quina diferència hi ha entre Systemctl i el servei?
systemctl>és una eina de línia d'ordres que s'utilitza per gestionar els serveis del sistema, mentre queservice>és un enllaç simbòlicsystemctl>en molts sistemes, proporcionant compatibilitat amb scripts d'inici antics.edat de pete davidson
Com comprovar l'estat del servei a Linux?
Utilitzeu `
systemctl status `>per veure si el servei s'està executant, actiu (aturat recentment) o inactiu (mai s'ha iniciat). Això revela informació important com l'ús de la memòria i les connexions actives.
Com puc iniciar, aturar i reiniciar un servei?
Per començar , utilitza:
sudo systemctl start>Per parar , utilitza:
sudo systemctl stop>Per reiniciar , utilitza:
sudo systemctl restart>Nota : Recordeu substituir
>amb el nom del servei real.
Com puc fer que un servei s'iniciï automàticament a l'arrencada?
Ús
sudo `>systemctl enable `>per configurar el servei perquè s'iniciï automàticament quan el sistema arrenqui.Per desactivar l'inici automàtic, utilitzeu `
sudo systemctl disable `>.