通常、chmodコマンドで特定のディレクトリ下を指定したパーミッション変更は、ワイルドカード(*)を利用しても1階層のみになる。
サブディレクトリ下も含め特定のファイルをパーミッション変更させたい場合、次のようにfind結果出力にchmod指定を適用させよう。
$ find /var/www/cgi-bin/ -name \*.cgi -exec chmod 755 {} \; |
上記の例は、「/var/www/cgi-bin/」ディレクトリ下すべての拡張子「cgi」ファイルに、755属性を指定するものだ。ディレクトリや拡張子を変更すれば、いろいろなシーンに応用できるだろう。また、「chmod 755」の個所を「ls -l」などと指定すれば、パーミッション変更前に適用ファイルを確認することが可能だ。
Copyright © ITmedia, Inc. All Rights Reserved.