グループを割り当ててから umask を設定して、グループの書き込み可能なアクセス許可を維持する必要があることはわかっていますが、何らかの理由でこれを行うことはできません。1 つのサブフォルダー (web10) を除いて、ディレクトリを再帰的に chmod する必要があります。次の方法は機能しますか?
cd /var/www/clients/
find . -type f -not -path "*web10*" -exec chmod 777 '{}' \;
ファイルまたはディレクトリを除外する場合は、次を使用します-prune
find /var/www/clients/ -name web10 -type d -prune -o -type f -print0 | xargs -0 chmod 0640
また、可能な場合は使用する必要がありますxargs
。-exec
見つかったすべてのファイルに対してコマンドを 1 回呼び出すのに対して、はxargs
できるだけ多くのファイルを収集し、N 個のファイルに対してコマンドを 1 回呼び出すため、実行がより効率的になり、パフォーマンスが向上します。