findコマンドを使って、パーミションを一括で変更する
Contents
find + chmod コマンドでパーミション変更
前回の記事「所有者を指定してファイル・ディレクトリを探す方法」で、findを利用してファイル・ディレクトリの所有者を探す方法を紹介しています。今回は、findコマンドでパーミションを変更する対象のファイルやディレクトリを検索して、chmodコマンドで一括でパーミション変更する方法を紹介します
特定のディレクトリにある、ファイルのパーミションを一括変更
下記では、「/var/www/html」以下にあるファイルのパーミションを「644」属性に変更しています
$ find /var/www/html/ -type f -print | xargs chmod 644 # または $ find /var/www/html/ -type f -exec chmod 644 {} \;
下記の場合は、「/var/www/html」以下にあるファイルで所収者が「admin」のファイルのパーミションを「664」属性に変更しています。
WEBディレクトリで、apcheグループにadminユーザーが設定している場合に、パーミションの関係でグループ上書きできなかったりする場合に「664」にしたい場合に役に立つと思います
$ find /var/www/html/ -user admin -type f -print | xargs chmod 664 # または $ find /var/www/html/ -user admin -type f -exec chmod 664 {} \;
特定のディレクトリにある、ディレクトリのパーミションを一括変更
下記では、「/var/www/html」以下にあるディレクトリのパーミションを「755」属性に変更しています
$ find /var/www/html/ -type d -print | xargs chmod 755 # または $ find /var/www/html/ -type d -exec chmod 755 {} \;
特定のディレクトリにある特定の拡張子のファイルのパーミションを一括変更
下記では、「/var/www/html」以下にある「cgi」ファイルのパーミションを「755」または実行権限を付与するように変更しています
$ find /var/www/cgi-bin/ -name \*.cgi | xargs chmod 755 # または $ find /var/www/cgi-bin/ -name \*.cgi -exec chmod 755 {} \; # chmod 755ではなく、chmod +x で実行権限のみ付与する場合 $ find /var/www/cgi-bin/ -name \*.cgi | xargs chmod +x # または $ find /var/www/cgi-bin/ -name \*.cgi -exec chmod +x {} \;
ディスカッション
コメント一覧
まだ、コメントがありません