python 스크립트가 BSD와 같은 OS에서 관리자 권한 (sudo)으로 실행되고 있는지 확인하는 방법은 무엇입니까? 관리자 권한없이 실행하려면 사용자에게 친숙한 경고를 표시해야합니다.
답변
이건 어때? 다음을 확인하십시오 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
답변
어때요?
import os
username=os.system("whoami")
if username is not "root":
print "You aren't root"
else:
print "Hello, "+username
답변
문자열 “root”와 사용자 이름을 일치 시키려고 유혹하지 마십시오.
일반적으로 UID의 텍스트 표현을 얻기 위해 덜 효율적인 콜 아웃을 제공하거나 신뢰할 수없는 환경 변수에 의존하게됩니다.