Apache CGI modを使用して、HTTP(S)リクエストを介してPythonスクリプトを実行できるようにしています。問題は、実行したいスクリプトbackup.pyが、mysqldumpコマンドがsudo-iにパイプされているサブプロセス呼び出しをある時点で実行することです。問題は、CGIの「ユーザー」であるwww-dataにrootアクセス権がないことです。この特定のタスクのためだけに、一般的にはrootアクセス権を与えたくありません。www-dataがsudo-iの下でのみmysqldumpコマンドのみを実行できるようにするにはどうすればよいですか?
特定のスクリプトのアクセス許可を上げる1つの方法は、sudoersファイルを使用することです。
ルート権限で実行したくないスクリプトを含むファイルを作成します/path/to/script.sh
。
次に、でsudoers
ファイルを編集しsudo visudo
、次の行を追加します。
www-data ALL = (root) NOPASSWD: /path/to/script.sh
ここで、ユーザー名とパスは適切に設定されています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加