非ルートとして実行したいコードのセグメントがあります。プログラムが非ルートとして実行されている場合、何もする必要はありません。ただし、プログラムが root として実行される場合は、root 権限を削除し、コードのセグメントを実行してから、root 権限を再度有効にする必要があります。有効化/無効化のコードをどのように記述しますか?
質問する
2844 次
2 に答える
0
次のことを試してください。
import os
print "user who executed the code: %d" % os.getuid()
print "current effective user: %d" % os.geteuid()
if os.getuid() == 0:
os.seteuid(65534) # user id of the user "nobody"
print "current effective user: %d" % os.geteuid()
# do what you need to do with non-root privileges here, e.g. write to a file
print >> open("/tmp/foobar.txt", "w"), "hello world"
os.seteuid(0)
print "current effective user: %d" % os.geteuid()
これをルート出力として実行します。
コードを実行したユーザー: 0 現在有効なユーザー: 0 現在の有効ユーザー: 65534 現在有効なユーザー: 0
于 2012-11-06T06:50:14.040 に答える
0
os.getuid()とos.setuid( ) を試してください。それらを使用して、スクリプト内でユーザーを切り替えることができます。
于 2012-11-06T06:29:27.040 に答える