Que tal isso? Verifique se uid == 0
:
[kbrandt@kbrandt-admin: ~] python -c 'import os; print os.getuid()'
196677
[kbrandt@kbrandt-admin: ~] sudo python -c 'import os; print os.getuid()'
0
Como verificar se o meu script python está sendo executado sob direitos de administrador (sudo) sob um sistema operacional semelhante ao BSD? Precisa exibir um aviso de fácil utilização para que seja executado sem direitos de administrador.
Que tal um:
import os
username=os.system("whoami")
if username is not "root":
print "You aren't root"
else:
print "Hello, "+username
Não fique tentado a combinar um nome de usuário com a string "root".
Geralmente, você terá que fornecer frases de destaque menos eficientes para obter a representação textual do UID ou dependerá de variáveis de ambiente que podem não ser tão confiáveis.