From eb95209ea84d8c5a39dd7c423871022c1b23c168 Mon Sep 17 00:00:00 2001 From: Zareian Date: Wed, 14 Oct 2026 16:59:08 +0330 Subject: [PATCH] deploy.sh: chmod only our own backups; a root-owned nginx backup aborted the release Co-Authored-By: Claude Opus 5.5 --- deploy.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/deploy.sh b/deploy.sh index 7b5dc72..010fa54 100755 --- a/deploy.sh +++ b/deploy.sh @@ -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)"