ubuntu lamp权限设置要注意啥
Ubuntu LAMP权限设置关键注意事项
1. 遵循最小权限原则
权限设置需满足功能需求但不超出必要范围。例如,普通网站文件无需写权限,上传目录除外;目录无需执行权限(除非存放可执行脚本)。过度授权会增加被攻击的风险。
2. 正确设置文件/目录所有者
Apache/Nginx等Web服务通常以www-data
用户/组运行(可通过ps aux | grep apache2
确认)。将网站根目录(如/var/www/html
)及其子文件/目录的所有者设为www-data
,确保Web进程能读取文件:
sudo chown -R www-data:www-data /var/www/html
。
3. 合理配置文件/目录权限
- 文件权限:普通文件设为
644
(所有者可读写,其他用户仅读),避免不必要的写权限; - 目录权限:普通目录设为
755
(所有者可读写执行,其他用户可读执行),确保Web进程能进入目录; - 特殊目录:上传目录(如
/var/www/html/uploads
)需赋予写权限(775
),但需限制上传文件类型(如禁用PHP执行),防止恶意脚本运行。
4. 区分敏感文件的权限
.htaccess
(Apache配置文件):设为644
,避免泄露目录访问规则;.htpasswd
(密码文件):设为640
,并存储在Web根目录之外(如/etc/apache2/.htpasswd
),防止未经授权的下载。
5. 避免滥用777权限
777
(所有用户可读写执行)会彻底破坏权限体系,可能导致恶意用户上传并执行恶意脚本。仅在调试时临时使用,调试完成后立即恢复为最小权限。
6. 配置Apache用户/组一致性
确保Apache运行用户(APACHE_RUN_USER
)和组(APACHE_RUN_GROUP
)与网站文件所有者一致(默认均为www-data
)。修改/etc/apache2/envvars
文件中的对应行,重启Apache使设置生效:
sudo systemctl restart apache2
。
7. 禁用危险PHP函数
在/etc/php/{
version}
/apache2/php.ini
中(如/etc/php/8.1/apache2/php.ini
),禁用eval()
、exec()
、system()
等危险函数,防止PHP脚本执行系统命令。修改后重启Apache:
sudo systemctl restart apache2
。
8. 定期审计权限设置
使用ls -l /var/www/html
定期检查文件/目录权限,确保未出现异常授权(如非www-data
用户的写权限)。建议每月至少审计一次。
9. 结合其他安全措施
权限设置需与其他安全措施配合使用:
- 使用UFW防火墙限制HTTP(80)/HTTPS(443)端口访问;
- 禁用SSH密码登录,使用密钥认证;
- 定期更新系统和软件包(
sudo apt update & & sudo apt upgrade
),修复已知漏洞。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu lamp权限设置要注意啥
本文地址: https://pptw.com/jishu/725960.html