Debian Apache权限设置方法
Apache默认以www-data用户和组运行(可通过/etc/apache2/envvars确认),需确保网站文件/目录的归属与权限符合安全要求:
/var/www/html)的所有者和组设为www-data,避免权限冲突。sudo chown -R www-data:www-data /var/www/html
755。sudo find /var/www/html -type d -exec chmod 755 {} \;
644。sudo find /var/www/html -type f -exec chmod 644 {} \;
.htaccess(目录访问控制文件):限制为644,避免敏感配置泄露。sudo chmod 644 /var/www/html/.htaccess
.htpasswd(用户认证文件):严格限制为600,防止密码被读取。sudo chmod 600 /var/www/html/.htpasswd
Apache核心配置文件(如/etc/apache2/apache2.conf、/etc/apache2/sites-available/*.conf)需限制为root用户可读写,其他用户无权限,避免恶意篡改:
sudo chmod 644 /etc/apache2/apache2.conf
sudo chmod 644 /etc/apache2/sites-available/*.conf
通过Apache配置文件或.htaccess文件实现细粒度的访问控制,常见场景如下:
/var/www/html/restricted)。
<Directory "/var/www/html/restricted">
Require ip 192.168.1.1 192.168.1.2
</Directory>
<RequireAll>
Require ip 192.168.1.1 192.168.1.2
</RequireAll>
apache2-utils):sudo apt install apache2-utils
sudo htpasswd -c /etc/apache2/.htpasswd username
<Directory "/var/www/html/restricted">
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
若系统启用SELinux或AppArmor,需调整策略允许Apache访问网站文件:
httpd_sys_content_t。sudo chcon -R -t httpd_sys_content_t /var/www/html
/etc/apparmor.d/usr.sbin.apache2,添加网站目录的访问权限(如/var/www/html/** rwk,),然后重启AppArmor服务。sudo systemctl restart apparmor
完成所有权限设置后,重启Apache服务使配置生效:
sudo systemctl restart apache2
777(完全开放),否则可能导致恶意文件上传或篡改。/etc/apache2/),并通过Include指令引入。/var/log/apache2/access.log、/var/log/apache2/error.log),及时发现异常访问行为。