所有者を指定してファイル・ディレクトリを探す方法

findコマンドでファイル・ディレクトリの所有者を指定して探す

findコマンドで、ファイルやディレクトリの所有者を指定して、探す方法を紹介します。
findコマンドで所有者を指定するオプションは「-user」を使用して探したいユーザーを指定します。

下記では、「/var/www/html」以下で「root」ユーザーのファイル・ディレクトリを検索しています

$ find /var/www/html/ -user root
/var/www/html/test.html
/var/www/html/img/93893.jpg
/var/www/html/test

特定のユーザー以外のディレクトリ・ファイルを探す場合は、「! -user ユーザー名」と使用して探します

下記では、「/var/www/html」以下で「apahce」ユーザーのファイル・ディレクトリを検索しています

$ find /var/www/html/ ! -user apache
/var/www/html/
/var/www/html/img/93893.jpg
/var/www/html/test

特定の所有者のファイル・ディレクトリを全て、指定の所有者に変更する

「-exec」を使用し、特定の所有者のファイル・ディレクトリを指定したユーザーに一括で変更する事もできます。

上記の説明で指定したユーザーが所有者となっているファイル・ディレクトリは、findコマンドで取得できるかと思います。その後「-exec」を使用して、検索結果のファイル・ディレクトリを「chown」コマンドで一括で変更できます

下記では、「/var/www/html」以下で「admin」ユーザーのファイル・ディレクトリを、apacheユーザー・apacheグループに変更しています

$ sudo find /var/www/html -user admin -exec chown apache:apache {} \;

 

スポンサーリンク