script run para ejecutar batch bat python pygtk

run - autenticación en el script de Python para ejecutar como root



python batch file (2)

Estoy haciendo un proyecto en Linux a nivel de sistema en Python. Entonces, quiero saber que si estoy ejecutando mi código como un usuario normal y si estoy accediendo a los archivos del sistema, entonces debería tener permisos de root, entonces, ¿cómo puedo solicitar una contraseña de root y ejecutar más código como superusuario? Quiero saber eso, cómo ejecutar el script de Python como superusuario con una solicitud de contraseña para ello.

Cualquier ayuda será apreciada. Gracias de antemano..


La otra cosa que puedes hacer es que tu script invoque automáticamente sudo si no se ejecutó como root:

import os import sys euid = os.geteuid() if euid != 0: print "Script not started as root. Running sudo.." args = [''sudo'', sys.executable] + sys.argv + [os.environ] # the next line replaces the currently-running process with the sudo os.execlpe(''sudo'', *args) print ''Running. Your euid is'', euid

Salida:

Script not started as root. Running sudo.. [sudo] password for bob: Running. Your euid is 0

Use sudo -k para las pruebas, para borrar la marca de tiempo de sudo, de modo que la próxima vez que se ejecute el script, se requerirá la contraseña nuevamente.


import os euid = os.geteuid() if euid != 0: raise EnvironmentError, "need to be root" exit()

Esto no aparecerá en el medio del script, sino que obligaría al usuario a volver a ejecutarlo con sudo o como root