私钥文件权限必须设为600,属主为root,且不可置于Web可访问路径;权限过宽会导致Apache拒绝加载并报“Permission denied”等错误,因其启动时强制校验——Linux要求仅属主读写,Windows需NTFS权限限制仅SYSTEM、Administrators及Apache服务账户可读。

私钥文件权限必须设为 600(即 -rw-------),属主应为 root,且不能放在 Web 可访问路径下。权限过宽会导致 Apache 拒绝加载,直接报错“Permission denied”或“RSA private key not readable”。
为什么必须是 600 权限
私钥是 HTTPS 通信的根安全凭证。一旦被其他用户或进程读取,攻击者可解密流量、伪造服务器身份,甚至实施中间人攻击。Apache 启动时会主动校验私钥权限:
- Linux 下严格要求仅属主可读写,禁止组和其他用户任何访问
- Windows 下需通过 NTFS 权限控制,仅 SYSTEM、Administrators 和 Apache 服务账户有“读取”权
- 设为 644、664 或 755 等宽松权限,Apache 将拒绝启动或加载证书
Linux 系统设置步骤
以私钥路径 /etc/ssl/private/server.key 为例:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 确认属主:运行
sudo chown root:apache /etc/ssl/private/server.key(属组按实际 Apache 运行组调整) - 设置权限:执行
sudo chmod 600 /etc/ssl/private/server.key - 检查父目录:确保
/etc/ssl/private/目录权限 ≤ 700(如drwx------),防止路径遍历泄露 - 验证可读性:用 Apache 运行用户测试读取——
sudo -u apache cat /etc/ssl/private/server.key应成功;普通用户执行应失败
Windows 系统注意事项
无 chmod 命令,需手动配置 NTFS 权限:
- 右键私钥文件 → “属性” → “安全”选项卡
- 移除 Users、Everyone、Authenticated Users 等泛化组的全部权限
- 仅添加 SYSTEM、Administrators 和 Apache 实际运行账户(如 Local Service)并赋予“读取”权限
- 切勿使用
-des3或密码加密私钥——Windows 版 Apache 不支持交互式输密,会导致服务无法自动启动
验证是否生效
完成配置后快速确认:
- 查看权限:运行
ls -l /etc/ssl/private/server.key,输出应为-rw-------. 1 root apache … - 语法检查:执行
httpd -t或apachectl configtest,确保无报错 - 重启服务:运行
systemctl restart httpd(或对应命令) - 查错误日志:用
tail -n 20 /var/log/httpd/error_log确认无 “permission denied”、“unable to load private key” 类错误

















