Come creare e gestire servizi utente su Linux

Come Creare E Gestire Servizi Utente Su Linux



Un normale utente di Linux può creare un servizio systemd personalizzato. Mentre i servizi systemd sono in gran parte gestiti dagli amministratori di sistema utilizzando il comando systemctl. Lo stesso comando può essere utilizzato anche per gestire servizi specifici dell'utente; tutto ciò di cui hai bisogno è un -utente bandiera.

In questa guida tratterò come creare un servizio specifico per l'utente su Linux e come gestirlo utilizzando systemctl.

Motivo per avere un servizio per utenti normali

Il normale servizio utente è diverso dal servizio di sistema. Il normale servizio utente è incentrato sull'utente registrato. Questo servizio funzionerà solo nella sessione dell'utente che lo ha creato.







Come creare un servizio utente normale

I servizi specifici dell'utente su Linux sono inseriti nel file ~/.config/systemd/utente directory. Se questa directory non è presente, è possibile crearla.

mkdir -P ~ / .config / systemd / utente

IL -P flag viene utilizzato per creare una directory principale, se necessario. IL ~ indica la directory home dell'utente locale ed è equivalente a /casa/utente mentre il punto prima del file di configurazione lo rende nascosto. Creiamo un semplice file di script bash che scriverà l'utilizzo della memoria in un testo ogni 30 minuti. Sto creando lo script con il nome di script.sh .

#! /bin/bash

Mentre VERO

Fare

gratuito -M >> / casa / utente / miofile.txt

sonno 1800

Fatto

Questo script può essere creato ovunque, ma assicurati che il percorso specificato all'interno dello script sia un percorso assoluto.

Ora creiamo un servizio che eseguirà lo script sopra in background. Avvia qualsiasi editor di testo, come Nano o Vim, e incolla al suo interno le righe fornite di seguito.

[ Unità ]

Descrizione =Il mio servizio

[ Servizio ]

Tipo =semplice

ExecStart = / bidone / bash / casa / utente / script.sh

Ricomincia = in caso di fallimento

[ Installare ]

WantedBy =predefinito.obiettivo

Nella sezione [Unità], il Descrizione La direttiva contiene semplicemente il nome del servizio. Tieni presente che non dovrebbe contenere più di 80 caratteri.

La sezione [Servizio] contiene le tre direttive importanti. In primo luogo, il Tipo ; che è semplice , Poi ExecStart contenente l'eseguibile del nostro script personalizzato. Il servizio verrà riavviato solo in caso di errore.

La sezione [Installa] contiene il file WantedBy direttiva che è default.target , il che implica che il servizio verrà abilitato nello stato del sistema quando viene raggiunto il livello di esecuzione predefinito, che normalmente è multi-user.target o graphic.target.

Ora salva il file nel formato ~/.config/systemd/utente directory con qualsiasi nome; Lo nominerò mioservizio.service .

Come gestire un servizio utente normale

Per gestire il normale servizio utente, viene utilizzato il comando systemctl con il file -utente bandiera. IL -utente flag indica che l'utente sta contattando il gestore del servizio, anziché il sistema.

Dopo aver creato il file di servizio specifico dell'utente, il primo passaggio cruciale è ricaricare i file di configurazione di systemd.

systemctl --utente ricarica del demone

Ciò applicherà le modifiche.

Per sapere se il servizio è in esecuzione o meno, utilizzare systemctl, con il file -utente bandiera e opzione.

systemctl --utente stato [ Nome di Servizio ]

Altri comandi per gestire il normale servizio utente sono menzionati di seguito:

systemctl --utente inizio [ Nome di Servizio ]

systemctl --utente abilitare [ Nome di Servizio ]

systemctl --utente fermare [ Nome di Servizio ]

systemctl --utente disattivare [ Nome di Servizio ]

systemctl --utente ricomincia [ Nome di Servizio ]

Come creare un servizio utente normale con autorizzazioni di amministratore di sistema

Esistono molti servizi creati da un utente, ma richiedono l'autorizzazione di amministratore per essere eseguiti. Tali servizi possono essere creati aggiungendo a Utente direttiva alla sezione [Servizio].

IL Utente La direttiva può essere utilizzata per menzionare il nome dell'utente le cui autorizzazioni sono richieste per eseguire il servizio, ad esempio amministratore . Pertanto, se un utente normale desidera creare un servizio che richiede autorizzazioni di amministratore, è sufficiente aggiungere il file Utente=amministratore nella sezione [Servizio] farà il lavoro. Tuttavia, questo servizio rimarrà attivo finché l'amministratore sarà attivo. Tieni presente che questo servizio non può essere controllato direttamente dall'amministratore.

Conclusione

L'utente normale può anche creare un servizio systemd, ma deve essere inserito ~/.config/systemd/utente directory. Questo servizio funziona finché l'utente che lo ha creato è loggato. Anche questi servizi sono gestiti tramite il comando systemctl ma con -utente bandiera. Ciò indica al systemd che il servizio viene chiamato dall'utente, non dal sistema. In questa guida ho creato un servizio utente normale personalizzato e ho menzionato i comandi systemctl per gestirlo. Inoltre, ho anche evidenziato un metodo per creare un servizio che richiede privilegi amministrativi.