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