Comprobar si un usuario es root con Python

7 12 2008

Python root

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:

?Descargar check_root.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/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:

1
$ sudo chmod +x check_root.py
VN:F [1.8.3_1051]
Rating: 9.5/10 (2 votes cast)
VN:F [1.8.3_1051]
Rating: 0 (from 0 votes)
Comparte, descargalo en pdf, imprimelo o enviaselo a un amigo!
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • Meneame
  • PDF
  • RSS
  • StumbleUpon
  • Technorati