特定のフォルダを見つけて所有権を変更してください。

特定のフォルダを見つけて所有権を変更してください。

「wp-content」フォルダ(およびその中のすべてのコンテンツ)の所有権(および権限)を繰り返し変更する必要がある複数のWordPressサイトでセキュリティ上の問題が発生しました。

指定されたすべてのフォルダ(複数)を見つけて、所有者がフォルダ権限755とファイル権限644を持つようにwp-contentそのフォルダとすべての内容を変更する必要があります。nginx:nginx

これらのフォルダを見つけて所有権を変更する方法が見つかりません。

どんな手がかりがありますか? :/

ベストアンサー1

findGNUとGNUを使用xargsしてディレクトリを検索wp-contentし、NULで終わった結果をシェルスクリプトに渡すことができます。

find /path/to/directory -type d -name 'wp-content' -print0 | xargs -0 sh -c '
  for dir; do
    # change user and group recursively to nginx
    chown -R nginx:nginx "$dir"

    # change dirs to 755
    find "$dir" -type d -exec chmod 755 {} +

    # change files to 644
    find "$dir" -type f -exec chmod 644 {} +
  done
' sh

あるいは、スクリプト部分をシェルスクリプトに保存することもできますmyscript.sh

#!/bin/sh

for dir; do
  # change user and group recursively to nginx
  chown -R nginx:nginx "$dir"

  # change dirs to 755
  find "$dir" -type d -exec chmod 755 {} +

  # change files to 644
  find "$dir" -type f -exec chmod 644 {} +
done

次に、シェルスクリプトを実行可能にします。

chmod +x myscript.sh

このアクションを使用して実行しfind(GNU実装である必要はありません)、-exec結果をスクリプトに渡します。

find /path/to/directory -type d -name 'wp-content' -exec ./myscript.sh {} +

おすすめ記事