Com crear i gestionar els serveis d'usuari a Linux

Com Crear I Gestionar Els Serveis D Usuari A Linux



Un usuari normal de Linux pot crear un servei de sistema personalitzat. Mentre que els serveis de systemd són gestionats en gran part pels administradors del sistema mitjançant l'ordre systemctl. La mateixa comanda també es pot utilitzar per gestionar serveis específics de l'usuari; tot el que necessites és a -usuari bandera.

En aquesta guia, explicaré com crear un servei específic per a l'usuari a Linux i com gestionar-lo mitjançant systemctl.

Motiu per tenir un servei d'usuari normal

El servei d'usuari normal és diferent del servei del sistema. El servei d'usuari normal està centrat en l'usuari iniciat. Aquest servei només funcionarà a la sessió de l'usuari que l'ha creat.







Com crear un servei d'usuari normal

Els serveis específics per a l'usuari a Linux es col·loquen al fitxer ~/.config/systemd/user directori. Si aquest directori no està present, es pot crear.

mkdir -p ~ / .config / systemd / usuari

El -p La bandera s'utilitza per crear un directori principal si és necessari. El ~ indica el directori d'inici de l'usuari local i és equivalent a /home/usuari mentre que el punt abans del fitxer de configuració l'amaga. Creem un fitxer d'script bash senzill que escrigui l'ús de la memòria en un text cada 30 minuts. Estic creant el guió amb el nom de script.sh .

#! /bin/bash

mentre veritat

fer

lliure -m >> / casa / usuari / el meu fitxer.txt

dormir 1800

fet

Aquest script es pot crear a qualsevol lloc, però assegureu-vos que el camí especificat dins de l'script és un camí absolut.

Ara, creem un servei que executarà l'script anterior en segon pla. Inicieu qualsevol editor de text, com Nano o Vim, i enganxeu-hi les línies que s'indiquen a continuació.

[ Unitat ]

Descripció =El meu servei

[ Servei ]

Tipus = simple

ExecStart = / paperera / xoc / casa / usuari / script.sh

Reinicia = en fracàs

[ Instal·lar ]

WantedBy =objectiu.predeterminat

A la secció [Unitat], el Descripció La directiva només conté el nom del servei. Tingueu en compte que no ha de tenir més de 80 caràcters.

La secció [Servei] conté les tres directrius importants. En primer lloc, el Tipus ; el qual és senzill , doncs ExecStart que conté l'executable del nostre script personalitzat. El servei només es reiniciarà quan hi hagi un error.

La secció [Instal·lar] conté el fitxer WantedBy directiva que és default.target , la qual cosa implica que el servei s'habilitarà a l'estat del sistema quan s'arribi al nivell d'execució predeterminat, que normalment és multiusuari.destinació o objectiu.gràfic.

Ara, deseu el fitxer al fitxer ~/.config/systemd/user directori amb qualsevol nom; L'estic posant nom el meuservei.servei .

Com gestionar un servei d'usuari normal

Per gestionar el servei d'usuari normal, s'utilitza l'ordre systemctl amb el fitxer -usuari bandera. El -usuari La bandera significa que l'usuari està contactant amb el gestor del servei, en lloc del sistema.

Després de crear el fitxer de servei específic de l'usuari, el primer pas crucial és tornar a carregar els fitxers de configuració del sistema.

systemctl --usuari dimoni-recàrrega

Això aplicarà els canvis.

Per saber si el servei s'està executant o no, utilitzeu systemctl, amb el -usuari bandera i opció.

systemctl --usuari estat [ nom_servei ]

Altres ordres per gestionar el servei normal d'usuari s'esmenten a continuació:

systemctl --usuari començar [ nom_servei ]

systemctl --usuari habilitar [ nom_servei ]

systemctl --usuari Atura [ nom_servei ]

systemctl --usuari desactivar [ nom_servei ]

systemctl --usuari reinicia [ nom_servei ]

Com crear un servei d'usuari normal amb permisos d'administrador del sistema

Hi ha molts serveis que crea un usuari, però requereixen permís d'administrador per executar-se. Aquests serveis es poden crear afegint a Usuari directiva a la secció [Servei].

El Usuari La directiva es pot utilitzar per esmentar el nom de l'usuari els permisos del qual són necessaris per executar el servei, com ara admin . Per tant, si un usuari normal vol crear un servei que requereixi permisos d'administrador, només cal afegir-hi Usuari=administrador a la secció [Servei] farà la feina. Tanmateix, aquest servei romandrà actiu mentre l'administrador estigui actiu. Tingueu en compte que aquest servei no pot ser controlat directament per l'administrador.

Conclusió

L'usuari normal també pot crear un servei systemd, però s'ha de col·locar ~/.config/systemd/user directori. Aquest servei s'executa sempre que l'usuari que l'ha creat estigui iniciat la sessió. Aquests serveis també es gestionen mitjançant l'ordre systemctl però amb -usuari bandera. El que indica al systemd que el servei l'està cridant l'usuari, no el sistema. En aquesta guia, vaig crear un servei d'usuari normal personalitzat i vaig esmentar les ordres systemctl per gestionar-lo. A més, també vaig destacar un mètode per crear un servei que requereix privilegis administratius.