I am doing a project in Linux at system level in Python. So that, I want to know that if i am running my code as a normal user and if i am accessing system files then it should have root permissions for it, then how can i prompt for root password and run further code as superuser. I want to know that, how to run python script as superuser with password prompt for it..
Any help will be appreciated. Thank you in advance..
The other thing you can do is have your script automatically invoke sudo if it wasn't executed as 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
Output:
Script not started as root. Running sudo..
[sudo] password for bob:
Running. Your euid is 0
Use sudo -k
for testing, to clear your sudo timestamp so the next time the script is run it will require the password again.