ワードプレス
Wordpress
1. 目標
アップロード パスの検索後に適切な権限を付与するタスクを実行します。
ディレクトリ 755
ファイル 644
2. 説明
権限検査: find
"$UPLOADS_DIR" - type d! - perm 755とfind "$UPLOADS_DIR" - type f! - perm 644コマンドを使用して、権限が正しくないディレクトリとファイルを探します。ユーザーに聞く: 権限が正しくない場合は、ユーザーに変更するかどうかを尋ねます。
ユーザー入力処理:ユーザーが
yesまたはyを入力すると権限を変更し、そうでない場合は権限変更をスキップします。
3. コード
set_permissions.sh
#!/bin/bash
# wp-content ディレクトリ検索
echo "wp-content ディレクトリを探しています。..."
WPCONTENT_DIRS=$(find / -type d -name "wp-content" 2>/dev/null)
# wp-content ディレクトリを見つけたかどうかを確認
if [ -z "$WPCONTENT_DIRS" ]; then
echo "wp-content ディレクトリが見つかりません。"
exit 1
fi
# 見つかったすべてのwp-contentディレクトリに対して作業を実行
for WPCONTENT_DIR in $WPCONTENT_DIRS; do
echo "wp-content ディレクトリ: $WPCONTENT_DIR"
# uploads ディレクトリ設定
UPLOADS_DIR="$WPCONTENT_DIR/uploads"
# uploads ディレクトリの存在確認
if [ ! -d "$UPLOADS_DIR" ]; then
echo "uploadsディレクトリが$UPLOADS_DIRに存在しません。"
continue
fi
echo "uploads ディレクトリ: $UPLOADS_DIR"
# 権限検査
DIR_PERM=$(find "$UPLOADS_DIR" -type d ! -perm 755)
FILE_PERM=$(find "$UPLOADS_DIR" -type f ! -perm 644)
if [ -z "$DIR_PERM" ] && [ -z "$FILE_PERM" ]; then
echo "ディレクトリとファイル権限はすでに正しく設定されています。"
continue
else
echo "ディレクトリまたはファイル権限が正しくありません。"
echo "変更しますか? (yes(y)/no(n))"
read answer
if [ "$answer" = "yes" ] || [ "$answer" = "y" ]; then
# ディレクトリ権限設定
find "$UPLOADS_DIR" -type d -exec chmod 755 {} \;
echo "ディレクトリ権限が755に設定されました。"
# ファイル権限設定
find "$UPLOADS_DIR" -type f -exec chmod 644 {} \;
echo "ファイル権限が 644 に設定されました。"
echo "権限設定が完了しました。"
else
echo "権限設定をスキップします。"
continue
fi
fi
done
4. 実行
Last updated