Comprobar si un script se ejecuta como root en Linux

29 set 2022 1 min di lettura
Comprobar si un script se ejecuta como root en Linux
Indice dei contenuti

Introducción

A veces, los scripts de shell deben ejecutarse como root para realizar algunas tareas con privilegios de administrador. Por lo general, estas tareas se pueden lograr con los comandos de Sudo. Si en algunos casos aún necesita obligar al usuario a ejecutar el script como root, puede agregar código al script para verificar si el script se ejecuta con el usuario root o no.

Compruebe si un script de shell se está ejecutando como root

Agregue el siguiente código al comienzo de la secuencia de comandos de shell para verificar si la secuencia de comandos se ejecuta como raíz. Si el script se ejecuta como una cuenta no raíz, saldrá con el código de estado 1:

#!/usr/bin/env bash

 if [ "$EUID" -ne 0 ];then
 echo "Please run this script as root user"
 exit 1
 fi

Aquí, el EUID es la variable del sistema que almacenó el ID de usuario (UID) del usuario actualmente conectado. El UID del usuario "raíz" siempre es 0 en los sistemas Linux.

En lugar de usar el UID, también puede hacer coincidir el nombre de usuario con el que inició sesión. El comando whoami proporciona el nombre de usuario registrado actualmente. El siguiente script verificará si el script se está ejecutando como root o no:

date +%F #Output: 2022-07-25
date +%Y-%m-%d #Output: 2022-07-25

Compruebe si un script de shell se está ejecutando como un usuario no root

A veces, los scripts deben ejecutarse como una cuenta no raíz. Si es así, puede agregar el siguiente fragmento para buscar una cuenta de usuario y continuar solo si el script se ejecuta como un usuario normal:

date +%F #Output: 2022-07-25
date +%Y-%m-%d #Output: 2022-07-25

Conclusión

En esta guía de inicio rápido, aprendió cómo agregar restricciones en un script de shell para que se ejecute como usuario root o no root. Si se está ejecutando un usuario diferente, el script se cerrará inmediatamente.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.