deploy.sh: chmod only our own backups; a root-owned nginx backup aborted the release

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-14 16:59:08 +03:30
parent 1c7c4b8eca
commit eb95209ea8

View File

@@ -212,7 +212,11 @@ for f in db.sqlite3 db.sqlite3-wal db.sqlite3-shm db.sqlite3-journal; do
done
if [ -d .deploy-backups ]; then
chmod 700 .deploy-backups
find .deploy-backups -type f -exec chmod 600 {} +
# فقط فایل‌های خودمان: بکاپی که با sudo ساخته شده (مثلاً کپیِ تنظیماتِ nginx) مالِ root است و chmodِ آن انتشار را
# وسطِ راه می‌انداخت (۲۰۲۶-۱۰-۱۴). پوشه 700 است، پس آن فایل‌ها هم برای others بسته‌اند؛ فقط هشدار.
find .deploy-backups -type f -user "$(id -un)" -exec chmod 600 {} +
others=$(find .deploy-backups -type f ! -user "$(id -un)" | wc -l)
[ "$others" -eq 0 ] || warn "$others فایل در .deploy-backups مالِ کاربرِ دیگری است (احتمالاً بکاپِ sudo)؛ مجوزش دست نخورد."
fi
printf ' دیتابیس و بکاپ‌ها فقط برای %s خواندنی‌اند.\n' "$(id -un)"