sudoersファイルでPerlのattestコマンドをNOPASSWDに設定するのは安全ではありませんか?

sudoersファイルでPerlのattestコマンドをNOPASSWDに設定するのは安全ではありませんか?

proversyncがリモートサーバーからダウンロードしたファイルの権限を変更できるように、root権限を必要とするバックアップスクリプトをテストするPerlテストスクリプトがあります。

したがって、Macのsudoersファイルには次のものがあります。

root ALL=(ALL) ALL
%admin  ALL=(ALL) ALL
%admin ALL=(ALL) NOPASSWD:/path/to/prove

効果があるしかし、私の質問は、proveローカルユーザーが書いたほとんどすべてのPerlスクリプトを実行するために使用できるため、これは大きなセキュリティリスクですか?

答え1

はい、この方法は安全ではありません。

後で呼び出されるコマンドを実行する特定のラッパーを作成しprove、ルートのみを変更できるように保護し、ルートのみアクセスできる場所に配置します。その後、追加それファイルのラッパーですsudoers

パラメータはスクリプトでは許可されていません。

注:誰かが最初のPerlスクリプトまたはバックアップスクリプトを変更できる場合でも、悪用される可能性があります。チェーン内のすべてのアイテムにのみアクセスできるようにする必要がありますroot

関連情報