插件窝 干货文章 LAMP中Linux权限设置要点

LAMP中Linux权限设置要点

权限 用户 www 设置 384    来源:    2025-05-04

LAMP环境中Linux权限设置要点

在LAMP(Linux+Apache+MySQL+PHP)环境中,合理的权限设置对系统安全至关重要。以下是关键权限设置要点:

1. 文件系统权限原则

  • 最小权限原则:只授予必要的权限
  • 用户隔离:不同服务使用不同系统用户
  • 目录分类:区分可执行文件、配置文件和用户数据

2. 关键目录权限设置

Web根目录(/var/www/html典型设置)

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 750 /var/www/html
  • 所有者:www-data(Apache用户)
  • 组:www-data
  • 其他用户:无权限

上传目录(如/var/www/html/uploads)

sudo chown -R www-data:www-data /var/www/html/uploads
sudo chmod -R 770 /var/www/html/uploads
  • 需要写入权限但应限制执行权限

配置文件(如/etc/apache2, /etc/mysql)

sudo chown -R root:root /etc/apache2
sudo chmod -R 644 /etc/apache2
  • 所有者:root
  • 组:root
  • 其他用户:只读

3. 服务用户隔离

  • Apache/PHP:通常使用www-data用户
  • MySQL:使用mysql用户
  • FTP/SFTP:使用单独的用户账户

4. PHP安全相关设置

在php.ini中配置:

open_basedir = /var/www/html
disable_functions = exec,passthru,shell_exec,system
upload_tmp_dir = /var/www/html/uploads

5. MySQL权限设置

  • 避免使用root账户连接数据库
  • 为每个应用创建单独数据库用户
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT SELECT, INSERT, UPDATE, DELETE ON appdb.* TO 'appuser'@'localhost';

6. 特殊权限注意事项

  • 慎用chmod 777
  • 避免设置SUID/SGID位
  • 使用umask 022或027创建新文件

7. 监控与审计

  • 定期检查关键目录权限
ls -la /var/www/html
  • 使用工具如aide或tripwire监控文件变更
  • 查看系统日志/var/log/auth.log等

正确的权限设置能有效防止未授权访问和数据泄露,是LAMP环境安全的基础保障。