web-dev-qa-db-ja.com

Sudoを1つのディレクトリのみに制限し、sudoersファイルによるそのサブディレクトリ

したがって、Apacheを制限して、特定のフォルダーとそのすべてのサブディレクトリのアクセス許可のみを変更したいので、これがsudoersファイルにあるものです。

Apache ALL= (ALL) NOPASSWD: /bin/chmod -R [g+ws] /var/www/sites/[a-z]+

しかし、それはうまくいかないようです。サブフォルダーの制限を取り除くことで動作させることができると確信していますが、ハッカーが無制限にアクセスできる可能性があるため、危険なようです。

それで、Apacheを「sites」フォルダー内のファイルとフォルダーのみを変更するように制限する方法はありますか、それともchmod/chownで無制限のアクセスを許可することに固執していますか?

このアプローチを使用する大きなセキュリティホールはありますか?

3
SeanDowney

Chmodコマンドをrootによってのみ実行されるシェルスクリプトにしてから、そのコマンドをSudoで実行できるようにすることをお勧めします。

3
Mike

わかりました。どうやらこれは私が期待していた完全な正規表現を使用していないようです。正規表現がトリックを実行しました。

Apache ALL= (ALL) NOPASSWD: /bin/chmod -R [go]+ws /var/www/sites/*

これは非常に危険です。サーバーに脆弱性が発生します。ユーザーがchmod-R g + w /var/www/sites/../../../../etc/shadowを実行するとどうなりますか?

2
SeanDowney