1

したがって、これはややこしいですが、基本的に私は Django を使用しており、サブプロセスをインスタンス化して perl スクリプトを実行したいと考えています。私はこれができることを読んだ

arg = "/some/file/path/"
pipe = subprocess.Popen(["./uireplace", arg], stdin=subprocess.PIPE)

これは、views.py の適切な関数で呼び出すと機能しますが、スクリプトには sudo が必要です。次に、これを呼び出します

pipe = subprocess.Popen(["sudo","./uireplace", arg], stdin=subprocess.PIPE)

ターミナルからPythonで実行すると機能しますが、Web上のランダムなユーザーから呼び出された場合は機能しません。そのsudoのユーザー名とパスワードを自動的に入力できる方法はありますか? 問題は、これはプロンプトでは実行できないため、単に失敗することです。

4

1 に答える 1

2

OS レベルでこの問題を解決します。Web のユーザーに使用権を与えることは正しくsudoないように思えます。./uireplace実行可能にするだけです。これを微調整するためのchmodのオプションはたくさんあります。

于 2013-05-31T05:35:54.603 に答える