














起因是这样的,我是直接将宝塔安装在绿联底层的,www目录也就在绿联的系统盘根目录,网站目录wwwroot和备份目录backup都在系统盘,网站备份份数多了之后,这个文件夹会越来越大,所以就想着把www目录修改到挂载盘。
直接在宝塔设置->面板设置中修改默认建站目录为/volume1/www/wwwroot,修改默认备份目录为/volume1/www/backup,重启之后绿联会默认将www目录修改为000权限,造成网站无法访问文件。
询问AI,提供了几个思路,第1次选用的解决方案为宝塔计划任务,定时查询www权限,如果不是775,就修改为775,因为重启之后会被重置,所以我就设置了每5分钟执行一次。
#!/bin/bash
DIR="/volume1/www"
PERM="755"
CURRENT=$(stat -c '%a' "$DIR" 2>/dev/null)
echo "$(date): 当前权限:$CURRENT"
if [ "$CURRENT" != "$PERM" ]; then
echo "$(date): 权限异常,开始修复..."
# 修复目录
chmod -R 755 "$DIR" 2>/dev/null
# 修复文件(排除 .user.ini)
find "$DIR" -type f \
! -name '.user.ini' \
-exec chmod 644 {} \; 2>/dev/null
echo "$(date): 修复完成 ✅"
exit 0
else
echo "$(date): 权限正常,无需修复"
fi
但不是很完美,因为需要每隔几分钟就执行一次,有点多余了,其实只需要在每次开机挂载磁盘后,执行一次就可以了,所以就有了第2次修改。
通过宝塔直接修改/etc/rc.local文件,在文末添加
# 修复网站权限
chown -R a=r,u+w,a+X /volume1/www
但是重启之后,rc.local文件被重置了,可能绿联有校验修复文件,所以进行了第3次修改,直接使用crontab @reboot。
# 编辑crontab
sudo crontab -e
# 添加以下行
@reboot sleep 30 && chmod -R a=r,u+w,a+X /volume1/www
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。