Hvordan lage og administrere brukertjenester på Linux

Hvordan Lage Og Administrere Brukertjenester Pa Linux



En vanlig bruker av Linux kan lage en tilpasset systemtjeneste. Mens systemd-tjenester i stor grad administreres av systemadministratorer som bruker systemctl-kommandoen. Den samme kommandoen kan også brukes til å administrere brukerspesifikke tjenester; alt du trenger er en -bruker flagg.

I denne veiledningen vil jeg dekke hvordan du lager en brukerspesifikk tjeneste på Linux og hvordan du administrerer den ved hjelp av systemctl.

Grunn til å ha en normal brukertjeneste

Den vanlige brukertjenesten er forskjellig fra systemtjenesten. Den vanlige brukertjenesten er pålogget brukersentrisk. Denne tjenesten vil bare fungere i økten til brukeren som opprettet den.







Hvordan lage en normal brukertjeneste

De brukerspesifikke tjenestene på Linux er plassert i ~/.config/systemd/user katalog. Hvis denne katalogen ikke er til stede, kan den opprettes.

mkdir -s ~ / .config / systemd / bruker

De -s flagg brukes til å opprette en overordnet katalog om nødvendig. De ~ indikerer den lokale brukerens hjemmekatalog og tilsvarer /hjem/bruker mens prikken før konfigurasjonsfilen gjør den skjult. La oss lage en enkel bash-skriptfil som vil skrive minnebruken til en tekst hvert 30. minutt. Jeg lager skriptet med navnet på script.sh .

#! /bin/bash

samtidig som ekte

gjøre

gratis -m >> / hjem / bruker / minfil.txt

sove 1800

ferdig

Dette skriptet kan opprettes hvor som helst, men sørg for at banen spesifisert i skriptet er en absolutt bane.

La oss nå lage en tjeneste som vil utføre skriptet ovenfor i bakgrunnen. Start et hvilket som helst tekstredigeringsprogram, for eksempel Nano eller Vim, og lim inn linjene nedenfor i den.

[ Enhet ]

Beskrivelse =Min tjeneste

[ Service ]

Type = enkelt

ExecStart = / bin / bash / hjem / bruker / script.sh

Omstart = ved feil

[ Installere ]

Etterlyst Av =standard.mål

I delen [Enhet] vises Beskrivelse direktivet inneholder bare navnet på tjenesten. Merk at det ikke skal være mer enn 80 tegn.

[Service]-delen inneholder de tre viktige direktivene. For det første Type ; som er enkel , deretter ExecStart som inneholder den kjørbare filen til vårt tilpassede skript. Tjenesten vil bare starte på nytt når det er en feil.

[Installer]-delen inneholder Etterlyst Av direktiv som er default.target , noe som antyder at tjenesten vil bli aktivert i systemtilstanden når den nås på standard kjøringsnivå, som vanligvis er multi-user.target eller graphical.target.

Lagre nå filen i ~/.config/systemd/user katalog med hvilket som helst navn; Jeg navngir den minservice.service .

Hvordan administrere en normal brukertjeneste

For å administrere den vanlige brukertjenesten, brukes systemctl-kommandoen med -bruker flagg. De -bruker flagget betyr at brukeren kontakter tjenestelederen, i stedet for systemet.

Etter å ha opprettet den brukerspesifikke tjenestefilen, er det første avgjørende trinnet å laste inn systemkonfigurasjonsfilene på nytt.

systemctl --bruker daemon-reload

Dette vil gjelde endringene.

For å vite om tjenesten kjører eller ikke, bruk systemctl, med -bruker flagg og alternativ.

systemctl --bruker status [ tjenestenavn ]

Andre kommandoer for å administrere den vanlige brukertjenesten er nevnt nedenfor:

systemctl --bruker start [ tjenestenavn ]

systemctl --bruker muliggjøre [ tjenestenavn ]

systemctl --bruker Stoppe [ tjenestenavn ]

systemctl --bruker deaktiver [ tjenestenavn ]

systemctl --bruker omstart [ tjenestenavn ]

Hvordan lage en normal brukertjeneste med systemadministratortillatelser

Det er mange tjenester som en bruker oppretter, men de krever administratortillatelse for å kjøre. Slike tjenester kan opprettes ved å legge til en Bruker direktiv til delen [Service].

De Bruker direktiv kan brukes til å nevne navnet på brukeren hvis tillatelser kreves for å kjøre tjenesten, som f.eks admin . Så hvis en vanlig bruker ønsker å lage en tjeneste som krever admin-tillatelser, kan du bare legge til Bruker=admin i [Service]-delen vil gjøre jobben. Denne tjenesten vil imidlertid forbli aktiv så lenge administratoren er aktiv. Merk at denne tjenesten ikke kan kontrolleres direkte av administratoren.

Konklusjon

Den vanlige brukeren kan også lage en systemtjeneste, men den må plasseres i ~/.config/systemd/user katalog. Denne tjenesten kjører så lenge brukeren som opprettet den er pålogget. Disse tjenestene administreres også gjennom systemctl-kommandoen, men med -bruker flagg. Som forteller systemd at tjenesten blir kalt av brukeren, ikke systemet. I denne guiden opprettet jeg en tilpasset normal brukertjeneste og nevnte systemctl-kommandoer for å administrere den. Dessuten har jeg også fremhevet en metode for å lage en tjeneste som krever administrative rettigheter.