Icono del sitio Shakaran

Comprobar si un usuario es root con Python


Cuando realizamos algún programa en Python a veces es necesario conocer si el usuario que lo ejecuta tiene privilegios de administrador o superusuario, también conocido como usuario root.

Con Python este asunto es una tarea bastante sencilla, simplemente debemos importar la biblioteca “os” (Operating System, del inglés Sistema Operativo) y llamar a la función geteuid() que nos devuelve el id del usuario efectivo (euid=efective user identification). Si esta función nos devuelve el valor de 0 entonces es el usuario root.

Si guardamos el siguiente código (por ejemplo con el nombre check_root.py) y le damos permisos de ejecución, podremos comprobar fácilmente esta tarea:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
Comprobar si el usuario es root
"""

import os
import sys

if os.geteuid() != 0:
    print 'Debes tener privilegios root para este script.'
    sys.exit(1)
else:
    print 'Bienvenido usuario root'

Para darle permisos de ejecución a nuestro script check_root.py:

$ sudo chmod +x check_root.py

Salir de la versión móvil