Webページでroot権限を必要とするLinuxシェルスクリプトを実行する方法

Webページでroot権限を必要とするLinuxシェルスクリプトを実行する方法

Apacheを介してroot権限を必要とするLinuxシェルスクリプトを実行しようとしていますが、Apacheのsuidおよびsudo権限を設定せずにroot権限を必要とするスクリプトを実行する方法はありますか?

コントロールパネルなどのファイルを編集しようとしています。たとえば、Pleskでは、sw-cp-serverはルートファイルを編集できます。

ベストアンサー1

問題は、どのように分割しても権限のないユーザーができる場合書くスクリプトファイルを使用すると、そのユーザーがスクリプトを変更できるため、何でもできるステートメントが開きます。ただし、必要に応じてルーティングして0700に設定できるため、これを行う必要はありません。

Apache の suid と sudo 権限を設定する代わりに

何もsuidを設定する必要はなく、Apacheがスクリプトのみを実行できるようにsudoを使用できます。 Apacheがユーザーとして実行されている場合は、httpd以下を追加します/etc/sudoers

httpd ALL = NOPASSWD: /foo/bar/scripts/foobar.sh

そこからスクリプトの実際のパスを置き換えます。その後、.を使用して呼び出す必要がありますが、これはユーザーに許可されているsudo /foo/bar/scripts/foobar.sh唯一の操作です。httpd

man 5 sudoers詳しくはこちらをご覧ください。

おすすめ記事