5

私のPythonプログラムの一部には、管理者アクセスが必要です。gksudoコマンドと同様のGUIポップアップを使用してroot権限を取得するにはどうすればよいですか?

プログラムのごく一部に対してのみroot権限が必要なので、特定の機能に対する権限のみを持つことが望ましいでしょう。

私は次のようなことができることを望んでいます:

gksudo(my_func, 'description of why password is needed')
4

2 に答える 2

4

gksudoを使用して、管理者権限で実行されているプログラムを起動できます。rootとして実行する必要があるアプリケーションの部分は、コマンドラインとは別のプロセスとして呼び出すことができる必要があります。2つの間の何らかの通信が必要な場合は、ソケットを使用したり、ファイルを監視したりできます。

于 2010-11-06T10:38:33.433 に答える
3

ここには2つのオプションがあります。

root権限を必要とするプログラムの部分を別のファイルにしてから、次のようにファイルを実行する必要があります。

>>> import subprocess
>>> subprocess.call(['gksudo','python that_file.py'])

これにより、パスワードプロンプトが表示され、rootとしてthat_file.pyが実行されます。

また、プログラムを最初からrootとして実行し、プログラムユーザーに最初からコマンドラインで「gksudopython your_program.py」と入力するように要求することもできます。これは、プログラムが通常から起動される場合は明らかに最善の方法ではありません。メニュー。

于 2010-11-07T14:54:16.067 に答える