Cómo crear y administrar servicios de usuario en Linux

Como Crear Y Administrar Servicios De Usuario En Linux



Un usuario normal de Linux puede crear un servicio systemd personalizado. Mientras que los servicios systemd son administrados en gran medida por administradores de sistemas mediante el comando systemctl. El mismo comando también se puede utilizar para gestionar servicios específicos del usuario; todo lo que necesitas es un -usuario bandera.

En esta guía, cubriré cómo crear un servicio específico de usuario en Linux y cómo administrarlo usando systemctl.

Razón para tener un servicio de usuario normal

El servicio de usuario normal es diferente del servicio del sistema. El servicio de usuario normal se centra en el usuario que inicia sesión. Este servicio sólo funcionará en la sesión del usuario que lo creó.







Cómo crear un servicio de usuario normal

Los servicios específicos de usuario en Linux se encuentran en el ~/.config/systemd/usuario directorio. Si este directorio no está presente, se puede crear.

mkdir -pag ~ / .config / sistemad / usuario

El -pag El indicador se utiliza para crear un directorio principal si es necesario. El ~ indica el directorio de inicio del usuario local y es equivalente a /Usuario doméstico mientras que el punto antes del archivo de configuración lo oculta. Creemos un archivo de script bash simple que escribirá el uso de la memoria en un texto cada 30 minutos. Estoy creando el script con el nombre de script.sh .

#! /bin/bash

mientras verdadero

hacer

  gratis -metro >> / hogar / usuario / miarchivo.txt

  dormir 1800

hecho

 

Este script se puede crear en cualquier lugar, pero asegúrese de que la ruta especificada dentro del script sea una ruta absoluta.

Ahora, creemos un servicio que ejecutará el script anterior en segundo plano. Inicie cualquier editor de texto, como Nano o Vim, y pegue en él las líneas que se indican a continuación.

[ Unidad ]

Descripción =Mi servicio

[ Servicio ]

Tipo =sencillo

Inicio ejecutivo = / papelera / intento / hogar / usuario / script.sh

Reanudar = en caso de falla

[ Instalar ]

Buscado por =predeterminado.objetivo

En la sección [Unidad], el Descripción La directiva simplemente contiene el nombre del servicio. Tenga en cuenta que no debe tener más de 80 caracteres.

La sección [Servicio] contiene las tres directivas importantes. En primer lugar, el Tipo ; cual es simple , entonces Inicio ejecutivo que contiene el ejecutable de nuestro script personalizado. El servicio sólo se reiniciará cuando haya un fallo.

La sección [Instalar] contiene la Buscado por directiva que es default.target , lo que implica que el servicio se habilitará en el estado del sistema cuando se alcance el nivel de ejecución predeterminado, que normalmente es multi-user.target o graphical.target.

Ahora, guarde el archivo en el ~/.config/systemd/usuario directorio con cualquier nombre; lo estoy nombrando miservicio.servicio .

Cómo gestionar un servicio de usuario normal

Para gestionar el servicio de usuario normal, el comando systemctl se utiliza con el -usuario bandera. El -usuario La bandera significa que el usuario se está comunicando con el administrador del servicio, en lugar del sistema.

Después de crear el archivo de servicio específico del usuario, el primer paso crucial es volver a cargar los archivos de configuración de systemd.

sistemactl --usuario recarga-demonio

Esto aplicará los cambios.

Para saber si el servicio se está ejecutando o no, use systemctl, con el -usuario bandera y opción.

sistemactl --usuario estado [ Nombre del Servicio ]

Otros comandos para administrar el servicio de usuario normal se mencionan a continuación:

sistemactl --usuario comenzar [ Nombre del Servicio ]

sistemactl --usuario permitir [ Nombre del Servicio ]

sistemactl --usuario detener [ Nombre del Servicio ]

sistemactl --usuario desactivar [ Nombre del Servicio ]

sistemactl --usuario Reanudar [ Nombre del Servicio ]

Cómo crear un servicio de usuario normal con permisos de administrador del sistema

Hay muchos servicios que crea un usuario, pero requieren permiso de administrador para ejecutarse. Estos servicios se pueden crear añadiendo un Usuario directiva a la sección [Servicio].

El Usuario La directiva se puede utilizar para mencionar el nombre del usuario cuyos permisos se requieren para ejecutar el servicio, como por ejemplo administración . Entonces, si un usuario normal quiere crear un servicio que exige permisos de administrador, simplemente agregue el Usuario=administrador en la sección [Servicio] hará el trabajo. Sin embargo, este servicio permanecerá activo mientras el administrador esté activo. Tenga en cuenta que el administrador no puede controlar directamente este servicio.

Conclusión

El usuario normal también puede crear un servicio systemd, pero debe colocarse en ~/.config/systemd/usuario directorio. Este servicio se ejecuta siempre que el usuario que lo creó esté conectado. Estos servicios también se administran mediante el comando systemctl pero con -usuario bandera. Lo que le dice al sistema que el usuario llama al servicio, no el sistema. En esta guía, creé un servicio de usuario normal personalizado y mencioné los comandos systemctl para administrarlo. Además, también destaqué un método para crear un servicio que requiere privilegios administrativos.