Ako vytvoriť a spravovať používateľské služby v systéme Linux

Ako Vytvorit A Spravovat Pouzivatelske Sluzby V Systeme Linux



Bežný používateľ Linuxu si môže vytvoriť vlastnú systémovú službu. Zatiaľ čo služby systemd sú z veľkej časti spravované systémovými administrátormi pomocou príkazu systemctl. Rovnaký príkaz možno použiť aj na správu služieb špecifických pre používateľa; všetko, čo potrebujete, je a – užívateľ vlajka.

V tejto príručke sa budem zaoberať tým, ako vytvoriť službu špecifickú pre používateľa v systéme Linux a ako ju spravovať pomocou systemctl.

Dôvod pre službu bežného používateľa

Bežná používateľská služba sa líši od systémovej služby. Služba bežného používateľa je zameraná na prihláseného používateľa. Táto služba bude fungovať iba v relácii používateľa, ktorý ju vytvoril.







Ako vytvoriť službu pre bežného používateľa

Služby špecifické pre používateľa v systéme Linux sú umiestnené v ~/.config/systemd/user adresár. Ak tento adresár neexistuje, môžete ho vytvoriť.

mkdir -p ~ / .config / systemd / užívateľ

The -p príznak sa v prípade potreby používa na vytvorenie nadradeného adresára. The ~ označuje domovský adresár miestneho používateľa a je ekvivalentný /home/user kým bodka pred konfiguračným súborom ho skryje. Vytvorme jednoduchý súbor bash skriptu, ktorý bude každých 30 minút zapisovať využitie pamäte do textu. Vytváram skript s názvom script.sh .

#! /bin/bash

zatiaľ čo pravda

robiť

zadarmo -m >> / Domov / užívateľ / myfile.txt

spať 1800

hotový

Tento skript je možné vytvoriť kdekoľvek, ale uistite sa, že cesta zadaná v skripte je absolútna cesta.

Teraz vytvorte službu, ktorá spustí vyššie uvedený skript na pozadí. Spustite ľubovoľný textový editor, napríklad Nano alebo Vim, a vložte doň riadky uvedené nižšie.

[ Jednotka ]

Popis = Moja služba

[ servis ]

Typ =jednoduché

ExecStart = / kôš / bash / Domov / užívateľ / script.sh

Reštart = pri poruche

[ Inštalácia ]

WantedBy =default.target

V sekcii [Jednotka] Popis obsahuje iba názov služby. Upozorňujeme, že by nemalo mať viac ako 80 znakov.

Časť [Služba] obsahuje tri dôležité smernice. Po prvé, Typ ; ktorý je jednoduché , potom ExecStart obsahujúci spustiteľný súbor nášho vlastného skriptu. Služba sa reštartuje iba v prípade zlyhania.

Časť [Inštalovať] obsahuje WantedBy smernica, ktorá je default.target , čo znamená, že služba bude povolená v stave systému, keď sa dosiahne na predvolenej úrovni spustenia, čo je normálne multi-user.target alebo graphical.target.

Teraz uložte súbor do ~/.config/systemd/user adresár s ľubovoľným názvom; ja to pomenúvam myservice.service .

Ako spravovať službu bežného používateľa

Na riadenie normálnej používateľskej služby sa príkaz systemctl používa s – užívateľ vlajka. The – užívateľ príznak znamená, že používateľ kontaktuje manažéra služieb a nie systém.

Po vytvorení súboru služieb špecifického pre používateľa je prvým zásadným krokom opätovné načítanie konfiguračných súborov systemd.

systemctl --užívateľ daemon-reload

Týmto sa použijú zmeny.

Ak chcete vedieť, či je služba spustená alebo nie, použite systemctl s príponou – užívateľ vlajka a možnosť.

systemctl --užívateľ postavenie [ názov_služby ]

Ďalšie príkazy na správu bežnej používateľskej služby sú uvedené nižšie:

systemctl --užívateľ začať [ názov_služby ]

systemctl --užívateľ povoliť [ názov_služby ]

systemctl --užívateľ zastaviť [ názov_služby ]

systemctl --užívateľ zakázať [ názov_služby ]

systemctl --užívateľ reštart [ názov_služby ]

Ako vytvoriť službu bežného používateľa s povoleniami správcu systému

Existuje veľa služieb, ktoré používateľ vytvára, ale na spustenie vyžadujú povolenie správcu. Takéto služby je možné vytvoriť pridaním a Používateľ do sekcie [Služba].

The Používateľ direktívu možno použiť na uvedenie mena používateľa, ktorého oprávnenia sú potrebné na spustenie služby, ako napr admin . Ak teda chce bežný používateľ vytvoriť službu, ktorá vyžaduje povolenia správcu, stačí pridať Používateľ=admin v sekcii [Služba] vykoná túto úlohu. Táto služba však zostane aktívna, kým bude aktívny administrátor. Upozorňujeme, že túto službu nemôže priamo ovládať správca.

Záver

Bežný používateľ môže tiež vytvoriť službu systemd, ale musí byť umiestnená ~/.config/systemd/user adresár. Táto služba beží, pokiaľ je prihlásený používateľ, ktorý ju vytvoril. Tieto služby sa tiež spravujú pomocou príkazu systemctl, ale pomocou – užívateľ vlajka. Čo hovorí systemd, že službu volá používateľ, nie systém. V tejto príručke som vytvoril vlastnú službu pre bežného používateľa a spomenul som príkazy systemctl na jej správu. Okrem toho som tiež zdôraznil spôsob vytvorenia služby, ktorá vyžaduje oprávnenia správcu.