温馨提示×

Ubuntu LNMP如何管理用户权限

小樊
51
2025-07-25 13:22:57
栏目: 智能运维

在Ubuntu系统中配置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)环境时,管理用户权限是一个重要的安全步骤。以下是一些基本步骤和建议,帮助你管理用户权限:

1. 用户和组管理

  • 创建专用用户:为Nginx、MySQL/MariaDB和PHP-FPM等服务创建专用的系统用户和组。

    sudo adduser --system --group --no-create-home nginx
    sudo adduser --system --group --no-create-home mysql
    sudo adduser --system --group --no-create-home www-data
    
  • 设置权限:确保这些服务只能访问它们需要的文件和目录。

    sudo chown -R nginx:nginx /var/www/html
    sudo chown -R mysql:mysql /var/lib/mysql
    sudo chown -R www-data:www-data /run/php
    

2. Nginx权限管理

  • 配置文件:编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf),确保user指令设置为非特权用户。

    user www-data;
    
  • 静态文件权限:确保静态文件和目录的权限设置正确。

    sudo chmod -R 755 /var/www/html
    sudo chown -R www-data:www-data /var/www/html
    

3. MySQL/MariaDB权限管理

  • 创建数据库用户:为应用程序创建专用的数据库用户,并授予最小权限。

    CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
    FLUSH PRIVILEGES;
    
  • 限制远程访问:如果不需要远程访问,确保MySQL/MariaDB只允许本地连接。

    GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost' IDENTIFIED BY 'password';
    REVOKE ALL PRIVILEGES ON appdb.* FROM 'appuser'@'%';
    FLUSH PRIVILEGES;
    

4. PHP-FPM权限管理

  • 配置文件:编辑PHP-FPM配置文件(通常位于/etc/php/7.x/fpm/pool.d/www.conf),确保usergroup指令设置为非特权用户。

    user = www-data
    group = www-data
    
  • 权限设置:确保PHP-FPM进程只能访问必要的文件和目录。

    sudo chown -R www-data:www-data /var/www/html
    sudo chmod -R 755 /var/www/html
    

5. 安全组配置

  • 防火墙:使用ufwiptables配置防火墙规则,限制对Nginx和MySQL/MariaDB端口的访问。
    sudo ufw allow 'Nginx Full'
    sudo ufw allow 'OpenSSH'
    sudo ufw enable
    

6. 定期审计和更新

  • 定期检查:定期检查系统日志和应用程序日志,确保没有异常活动。
  • 更新软件:定期更新系统和所有软件包,以修补安全漏洞。

通过以上步骤,你可以有效地管理Ubuntu LNMP环境中的用户权限,提高系统的安全性。

0