7cb61d4242
Co-authored-by: Cursor <cursoragent@cursor.com>
38 lines
1.1 KiB
Bash
38 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# Права на каталог магазина для пользователя systemd (www-data)
|
|
# sudo bash "$SHOP_ROOT/scripts/fix-shop-permissions.sh"
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
# shellcheck source=shop-root.sh
|
|
source "$SCRIPT_DIR/shop-root.sh"
|
|
|
|
SHOP_SERVICE_USER="${SHOP_SERVICE_USER:-www-data}"
|
|
|
|
if [ "$(id -u)" -ne 0 ]; then
|
|
echo "Запустите от root: sudo bash $0"
|
|
exit 1
|
|
fi
|
|
|
|
if ! id "$SHOP_SERVICE_USER" &>/dev/null; then
|
|
echo "Ошибка: пользователь $SHOP_SERVICE_USER не найден"
|
|
exit 1
|
|
fi
|
|
|
|
echo "=== Права Shop: $SHOP_ROOT → $SHOP_SERVICE_USER ==="
|
|
|
|
chown -R "$SHOP_SERVICE_USER:$SHOP_SERVICE_USER" "$SHOP_ROOT"
|
|
|
|
# npm cache/logs для www-data
|
|
for dir in /var/www/.npm /var/www/.cache; do
|
|
mkdir -p "$dir"
|
|
chown -R "$SHOP_SERVICE_USER:$SHOP_SERVICE_USER" "$dir"
|
|
done
|
|
|
|
if [ -f "$SHOP_ROOT/.env" ]; then
|
|
chmod 640 "$SHOP_ROOT/.env"
|
|
chown "$SHOP_SERVICE_USER:$SHOP_SERVICE_USER" "$SHOP_ROOT/.env"
|
|
fi
|
|
|
|
echo "OK: владелец $SHOP_SERVICE_USER, можно: systemctl restart shop"
|