在使用 Synology DSM 搭建网站(如个人博客、企业官网、电商平台)时,网站文件夹权限设置是决定网站能否正常访问、数据是否安全的关键 —— 权限过松(如开放 “写入” 权限给匿名用户)可能导致黑客上传恶意脚本;权限过严(如未给 http 用户 “执行” 权限)会引发 403 访问禁止、PHP 脚本无法运行等问题。本文基于 Synology 官方技术指南,针对 DSM 7.0 及以上版本(Web Station 稳定支持版本),分场景讲解网站文件夹的权限配置逻辑与操作步骤,帮助用户平衡 “网站可用性” 与 “数据安全性”。
一、环境准备:权限设置前必须确认的 3 个前提
在配置网站文件夹权限前,需先确保 DSM 环境与 Web 服务满足基础条件,避免权限配置后仍无法正常使用:
1. 确认 DSM 与 Web 服务版本兼容性
网站文件夹权限依赖 DSM 7.0 及以上版本的 “用户与群组” 机制,且需配套正确的 Web 服务组件,版本不匹配可能导致权限生效异常:
组件 | 最低支持版本 | 推荐稳定版本 | 查看 / 安装路径 |
Synology DSM | 7.0.0-41890 | 7.2.1-69057 Update 3、7.1.1-42962 Update 6 | 「控制面板→更新与还原→当前状态」 |
Web Station | 3.0.0-2000 | 3.2.2-2234 | 「Package Center→搜索 “Web Station”→安装 / 更新」 |
Web 服务器(Apache/Nginx) | 随 Web Station 默认安装 | Apache 2.4.54、Nginx 1.20.2 | 「Web Station→设置→Web 服务器」查看当前使用的服务器 |
PHP(脚本运行环境) | 7.4.0 | 8.1.0、8.2.0(稳定版) | 「Web Station→设置→PHP」查看已安装版本,缺失则通过「Package Center」安装 |
- 若 DSM 版本低于 7.0:需先升级(「控制面板→更新与还原→更新」),旧版本 “http 用户” 权限逻辑与 7.0 + 差异较大,易导致配置失效。
2. 明确网站文件夹存储路径
Synology 网站文件夹默认或自定义存储路径不同,权限配置对象也不同,需先定位路径:
网站类型 | 默认存储路径 | 自定义路径设置方法 | 示例路径 |
Web Station 默认网站 | /volume1/web | 无需设置,Web Station 自动关联此文件夹 | /volume1/web/my-blog(默认网站子文件夹) |
自定义网站(多站点) | /volume1/[自定义共享文件夹] | 1. 「控制面板→共享文件夹→新建」命名为 “website”;2. 「Web Station→网站→创建→关联此文件夹」 | /volume1/website/company-site |
数据库关联文件夹(如 MySQL) | /volume1/@database/mysql(系统默认) | 若需自定义:「MySQL→设置→数据存储路径」修改 | /volume1/website/db(自定义数据库文件夹) |
- 定位方法:打开「File Station」,按上述路径找到对应文件夹,右键「属性→位置」确认完整路径(后续权限配置需基于此路径操作)。
3. 理解核心用户 / 群组角色(权限配置关键)
Synology 网站运行依赖 3 类核心用户 / 群组,权限需针对性分配,避免混淆:
用户 / 群组 | 作用 | 权限需求原则 | 安全风险提示 |
http(系统内置用户) | Web 服务器(Apache/Nginx)访问网站文件的 “身份”,所有网站访问请求均通过此用户执行 | 仅需 “读取 + 执行” 权限,禁止 “写入”(除非网站需上传文件,如博客编辑器) | 若给 “写入” 权限,需严格限制仅上传目录,防止恶意文件注入 |
administrators(管理员群组) | 网站管理员用于修改网站文件(如上传代码、更新主题)的群组 | 需 “读取 + 写入 + 执行” 权限,但仅管理员账户加入此群组 | 禁止将普通用户加入此群组,避免权限滥用 |
users(普通用户群组) | 仅用于查看网站文件(非管理场景) | 仅 “读取” 权限,禁止 “执行 + 写入” | 若开放 “执行”,可能导致普通用户运行恶意脚本 |
二、分场景配置:网站文件夹权限设置详细步骤
不同网站场景(默认网站、自定义多站点、数据库关联文件夹)权限需求不同,需按场景分步配置,每步均需严格遵循 “最小权限原则”(即仅授予必要权限,不冗余开放)。
场景 1:Web Station 默认网站文件夹(/volume1/web)权限配置
适用于单站点(如个人博客),核心是给 “http 用户” 基础访问权限,给管理员 “修改权限”:
步骤 1:配置 “http 用户” 权限(网站正常访问核心)
- 登录 DSM→「控制面板→共享文件夹」,在列表中找到 “web” 文件夹(默认网站根目录)→点击「编辑」;
- 切换到「权限」标签页→在 “用户或群组” 下拉框中,选择「系统内置用户」→找到「http」用户;
- 为「http」用户分配权限(关键!决定网站能否运行):
- 勾选「读取」(允许 Web 服务器读取 HTML/PHP/CSS 文件);
- 勾选「执行」(允许 Web 服务器运行 PHP 脚本、解析网页代码);
- 禁止勾选「写入」(除非网站有 “用户上传” 功能,如评论图片,否则开放会导致黑客上传木马);
- 勾选「应用到子文件夹」(确保 “web” 下所有子文件夹均继承此权限,如 “my-blog” 子站点);
- 点击「保存」,等待权限应用完成(约 10-30 秒,取决于文件夹大小)。
步骤 2:配置管理员权限(用于网站维护)
- 仍在 “web” 文件夹「权限」编辑页面→“用户或群组” 选择「administrators」群组;
- 为管理员群组分配权限:
- 勾选「读取」「写入」「执行」(允许管理员上传代码、修改主题、更新插件);
- 点击「保存」,此时管理员通过「File Station」或 FTP 可修改 “web” 文件夹内的网站文件,而普通访问仅依赖 “http 用户” 的有限权限。
步骤 3:验证权限有效性
- 打开浏览器,输入 NAS 的 IP 地址(如http://192.168.1.100),若能正常显示 Web Station 默认页面(或自定义网站首页),说明 “http 用户” 权限生效;
- 管理员通过「File Station」进入 “web/my-blog”,新建一个 test.html 文件(内容为
权限测试
),刷新浏览器访问http://192.168.1.100/my-blog/test.html,能显示内容说明管理员 “写入” 权限生效。
场景 2:自定义多站点文件夹(如 /volume1/website)权限配置
适用于搭建多个网站(如企业官网 + 产品文档站),需为每个站点文件夹单独配置权限,避免相互影响:
步骤 1:新建自定义共享文件夹(以 “website” 为例)
- 「控制面板→共享文件夹→新建」→名称输入 “website”→选择存储卷(如 volume1)→取消 “启用回收站”(减少冗余文件)→「下一步」;
- 权限设置页面暂不配置(后续单独设置)→「完成」,在「File Station」中可看到 /volume1/website 文件夹。
步骤 2:为多站点子文件夹分配权限(以 “company-site” 和 “docs-site” 为例)
- 在「File Station→volume1→website」中,新建两个子文件夹:“company-site”(企业官网)、“docs-site”(产品文档);
- 配置 “company-site” 权限:
- 右键「company-site→属性→权限→编辑」;
- 添加「http」用户:勾选「读取 + 执行」,禁止「写入」;
- 添加「administrators」群组:勾选「读取 + 写入 + 执行」;
- 配置 “docs-site” 权限(文档站仅需读取,无需执行 PHP):
- 添加「http」用户:仅勾选「读取」,禁止「执行 + 写入」(文档站多为静态 HTML,无需执行脚本,减少风险);
- 添加「administrators」群组:勾选「读取 + 写入」(仅更新文档需写入,无需执行)→「确定」。
步骤 3:Web Station 关联自定义文件夹
- 打开「Web Station→网站→创建」→选择 “手动创建网站”;
- 网站名称输入 “Company Site”→网站类型选择 “静态网站” 或 “动态网站(PHP)”;
- 根文件夹选择「/volume1/website/company-site」→点击「创建」;
- 重复上述步骤,创建 “Docs Site” 并关联「/volume1/website/docs-site」;
- 访问测试:浏览器输入 http://[NAS IP]/company-site,能显示首页说明权限配置正确。
场景 3:数据库关联文件夹(如 MySQL 数据存储)权限配置
数据库文件夹(如 MySQL 数据文件、备份文件)权限过松会导致数据泄露,需严格限制:
步骤 1:定位数据库文件夹
- 若使用 Synology MySQL 套件:默认路径为 /volume1/@database/mysql(系统隐藏文件夹,需在「File Station→设置→显示隐藏文件」勾选后可见);
- 若自定义路径:「MySQL→设置→高级设置→数据存储路径」查看,示例为 /volume1/website/db。
步骤 2:配置权限(仅允许数据库服务用户访问)
- 右键数据库文件夹(如 mysql)→「属性→权限→编辑」;
- 添加「mysql」用户(系统内置,数据库服务专用):
- 勾选「读取 + 写入 + 执行」(数据库需读写数据文件、执行初始化脚本);
- 取消「应用到子文件夹」(仅根目录开放,子文件夹继承即可);
- 添加「administrators」群组:
- 仅勾选「读取」(管理员仅需备份数据,禁止随意修改数据文件,避免数据库损坏);
- 删除其他所有用户 / 群组权限(如 “users”“guest”),仅保留「mysql」和「administrators」→「确定」;
- 验证:重启 MySQL 服务(「Package Center→MySQL→操作→重启」),若能正常启动且连接数据库,说明权限正确。
三、安全原则:网站文件夹权限配置的 5 个禁区(必看)
权限配置不仅要保证网站运行,更要防范安全风险,以下 5 个错误操作需绝对避免:
1. 禁止给 “http 用户” 开放 “写入” 权限(除非必要)
- 风险:黑客可通过网站漏洞(如 SQL 注入、文件上传漏洞)上传恶意脚本(如 webshell.php),控制整个 NAS;
- 例外场景:仅当网站有 “用户上传” 功能(如博客头像、电商商品图片)时,单独给 “上传目录” 开放 “写入”,而非整个网站文件夹;
- 正确操作:新建 “upload” 子文件夹(如 /volume1/web/my-blog/upload),仅给此文件夹「http」用户 “写入” 权限,其他文件夹仍禁止。
2. 禁止将 “guest” 用户加入网站文件夹权限列表
- 风险:“guest” 为匿名用户,开放权限后任何人可访问或修改网站文件;
- 检查方法:在文件夹「权限」页面,若 “用户或群组” 中有 “guest”,点击「删除」,确保完全移除。
3. 禁止 “users” 群组有 “执行” 权限
- 风险:“users” 群组包含所有普通用户,开放 “执行” 可能导致普通用户运行恶意脚本;
- 正确配置:“users” 群组仅在需要共享查看静态文档时开放 “读取”,其他场景完全移除权限。
4. 禁止使用 “777” 权限(Linux 权限逻辑,DSM 中对应 “所有用户完全控制”)
- 风险:“777” 权限意味着任何用户可读写执行,是黑客攻击的重点目标;
- DSM 对应操作:避免勾选 “所有用户” 的 “读取 + 写入 + 执行”,严格按 “最小权限” 分配。
5. 禁止数据库文件夹开放给非 “mysql” 用户
- 风险:普通用户可复制数据库文件,导致数据泄露;或修改文件结构,导致数据库崩溃;
- 检查:定期查看数据库文件夹权限,确保仅「mysql」和管理员群组有对应权限。
四、常见问题与解决方案(权限配置后网站异常排查)
配置权限后可能出现 403、500 错误或网站无法上传文件,以下是高频问题的解决方法:
Q1:访问网站提示 “403 Forbidden”(禁止访问),怎么办?
- 原因:“http 用户” 无 “读取” 或 “执行” 权限,或文件夹路径未正确关联 Web Station;
- 检查 “http 用户” 权限:回到文件夹「权限」页面,确认「http」用户勾选 “读取 + 执行”;
- 验证路径关联:「Web Station→网站→选择对应网站→编辑→根文件夹」,确认路径与实际文件夹一致;
- 检查索引文件:确保网站根文件夹有默认索引文件(如 index.html、index.php),无则新建空白 index.html 测试。
Q2:PHP 脚本无法运行,提示 “500 Internal Server Error”,怎么解决?
- 原因:“http 用户” 无 “执行” 权限,或 PHP 版本与脚本不兼容;
- 确认 “http 用户” 有 “执行” 权限:文件夹「权限」中「http」用户勾选 “执行”;
- 检查 PHP 版本:「Web Station→网站→编辑→PHP 设置」,选择与脚本兼容的版本(如 WordPress 6.0 + 推荐 PHP 8.0+);
- 查看错误日志:「Web Station→设置→日志→查看 PHP 错误日志」,若显示 “Permission denied”,则是权限问题,重新配置。
Q3:网站上传功能无法使用,提示 “权限不足”,怎么办?
- 原因:仅开放了网站根文件夹权限,上传目录无 “http 用户”“写入” 权限;
- 找到上传目录(如 /upload)→右键「属性→权限→编辑」;
- 给「http」用户勾选 “写入” 权限(仅此目录,其他目录仍禁止);
- 限制上传文件类型:在网站后台(如 CMS 系统)设置仅允许上传图片格式(.jpg、.png),禁止.php、.exe 等危险格式。
Q4:管理员无法修改网站文件,提示 “权限被拒绝”,怎么办?
- 原因:管理员账户未加入 “administrators” 群组,或群组无 “写入” 权限;
- 「控制面板→用户与群组→选择管理员账户→编辑→所属群组」,确认已加入 “administrators”;
- 回到网站文件夹「权限」页面,确认 “administrators” 群组勾选 “读取 + 写入 + 执行”;
- 若仍失败:重启 NAS(「控制面板→电源→重启」),刷新权限缓存。
五、总结:网站文件夹权限配置的核心原则
Synology DSM 网站文件夹权限设置的核心是 “精准定位场景 + 最小权限分配 + 定期安全检查”:
- 场景定位:默认网站、自定义多站点、数据库文件夹权限需求不同,避免 “一刀切” 配置;
- 权限分配:“http 用户” 仅给 “读取 + 执行”(上传目录例外),管理员给 “读写执行”,普通用户仅 “读取”(或无权限);
- 安全检查:每月查看文件夹权限(「File Station→右键→属性→权限」),移除冗余用户,禁止危险权限;
- 备份兜底:定期备份网站文件夹(「Hyper Backup→创建任务→选择网站文件夹」),避免权限配置错误导致数据丢失。
通过本文步骤,无论是个人搭建博客,还是企业部署官网,都能正确配置网站文件夹权限,既保证网站稳定运行,又有效防范黑客攻击与数据泄露,充分发挥 Synology DSM 的 Web 服务能力。