This commit is contained in:
2025-11-22 22:58:12 +08:00
parent 0d6b9866e1
commit 21cd636205
7 changed files with 360 additions and 82 deletions

54
fix-permissions.sh Executable file
View File

@@ -0,0 +1,54 @@
#!/bin/bash
# 数字档案系统文件权限修复脚本
# 用于解决Docker部署中的文件权限问题
echo "开始修复数字档案系统文件权限..."
# 定义数据目录
DATA_DIRS=(
"./data/upload"
"./data/temp"
"./data/unzip"
"./data/images"
"./data/reports"
"./logs"
)
# 创建目录(如果不存在)
echo "创建数据目录..."
for dir in "${DATA_DIRS[@]}"; do
if [ ! -d "$dir" ]; then
echo "创建目录: $dir"
mkdir -p "$dir"
else
echo "目录已存在: $dir"
fi
done
# 设置权限 - 使用1001:1001 (与Dockerfile中的app用户一致)
echo "设置目录权限为1001:1001..."
for dir in "${DATA_DIRS[@]}"; do
echo "设置权限: $dir"
sudo chown -R 1001:1001 "$dir"
sudo chmod -R 755 "$dir"
done
# 验证权限设置
echo "验证权限设置..."
for dir in "${DATA_DIRS[@]}"; do
echo "目录: $dir"
ls -ld "$dir"
done
echo "文件权限修复完成!"
echo ""
echo "重要提示:"
echo "1. 当前系统用户需要对数据目录有读写权限"
echo "2. 如果1001用户不存在请确保Docker容器内的app用户UID为1001"
echo "3. 在Linux环境下可以使用 'id -u' 和 'id -g' 查看当前用户ID"
echo ""
echo "如果仍然遇到权限问题,可以尝试:"
echo "1. 将当前用户添加到docker组: sudo usermod -aG docker \$USER"
echo "2. 重新登录使权限生效"
echo "3. 或者使用root用户运行: sudo ./fix-permissions.sh"