Pythonスクリプト内の管理者権限を確認してください


15

私のpythonスクリプトがBSDのようなOSで管理者権限(sudo)の下で実行されていることを確認する方法は?管理者権限なしで実行されるためには、ユーザーフレンドリーな警告を表示する必要があります。

回答:


37

これはどう?確認してください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

1
実際に短縮しました:-)。Linux認証にも同様にオープンを使用します。これは、Windows SIDをハッシュすることで大きなUIDを作成します。
カイルブラント

3

それはどうですか:

import os
username=os.system("whoami")
if username is not "root":
    print "You aren't root"
else:
    print "Hello, "+username

2

ユーザー名を文字列「root」と一致させようとしないでください。

一般に、UIDのテキスト表現を取得するには、効率の悪いコールアウトを提供するか、それほど信頼できない環境変数に依存する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.