sudoでスクリプトを実行し、セキュリティをチェックする

sudoでスクリプトを実行し、セキュリティをチェックする

sudo で実行する必要があるスクリプトがあります。

#!/bin/bash

cp "$@" /destionation/dir

それは良いスクリプトですか、それとも誰かが制限の宛先ディレクトリを回避できますか?

ご提案ありがとうございます。

答え1

まあ、ちょっとしたタイプミスがあります。/destionationの代わりに です/destination

そこにはこのスクリプトにはセキュリティ上の問題があります。

ユーザーは`sudo /bin/bash`ファイル名を渡すことができ、その後ルートシェルが使用可能になります。

次のようなコマンドをネストすることもできます。

`sudo /bin/bash; echo "hello" >> /tmp/from_root`

ルート ユーザーとして実行される一連の操作を形成します。

このスクリプトは、宛先ディレクトリが重要でないだけでなく、より大きな問題が発生するため、使用しないことをお勧めします。

おそらくより良い解決策は、sudo 権限を必要としない、誰でも書き込み可能なディレクトリを作成することです。

関連情報