LNMP环境下Ubuntu如何管理用户权限

335
2025/4/3 9:32:02
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在LNMP(Linux, Nginx, MySQL, PHP)环境下,管理用户权限是非常重要的,以确保系统的安全性和稳定性。以下是一些关键步骤和建议:

1. 用户账户管理

  • 创建新用户
    sudo adduser username
    
  • 删除用户
    sudo deluser username
    
  • 修改用户密码
    sudo passwd username
    

2. 文件和目录权限

  • 设置文件权限
    chmod 644 filename
    
  • 设置目录权限
    chmod 755 directoryname
    
  • 更改文件所有者
    sudo chown username:groupname filename
    
  • 更改目录所有者
    sudo chown -R username:groupname directoryname
    

3. Nginx用户权限

  • 配置Nginx运行用户: 编辑/etc/nginx/nginx.conf,找到user指令并设置为非root用户:
    user www-data;
    
  • 确保Nginx用户有足够的权限访问网站文件
    sudo chown -R www-data:www-data /var/www/html
    

4. MySQL/MariaDB用户权限

  • 创建数据库用户
    CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
    FLUSH PRIVILEGES;
    
  • 删除数据库用户
    DROP USER 'username'@'localhost';
    FLUSH PRIVILEGES;
    

5. PHP-FPM用户权限

  • 配置PHP-FPM运行用户: 编辑/etc/php/7.x/fpm/pool.d/www.conf,找到usergroup指令并设置为非root用户:
    user = www-data
    group = www-data
    
  • 确保PHP-FPM用户有足够的权限访问网站文件
    sudo chown -R www-data:www-data /var/www/html
    

6. SELinux/AppArmor

  • SELinux: 如果系统启用了SELinux,确保Nginx和PHP-FPM进程有足够的权限:
    sudo setsebool -P httpd_can_network_connect_db 1
    
  • AppArmor: 如果系统启用了AppArmor,确保配置文件允许Nginx和PHP-FPM访问必要的文件和目录。

7. 定期审计和监控

  • 使用auditd进行审计
    sudo apt-get install auditd audispd-plugins
    sudo auditctl -a exit,always -F arch=b32 -S execve -k execute
    sudo auditctl -a exit,always -F arch=b64 -S execve -k execute
    
  • 使用fail2ban防止暴力破解
    sudo apt-get install fail2ban
    sudo systemctl enable fail2ban
    sudo systemctl start fail2ban
    

通过以上步骤,可以有效地管理LNMP环境下的用户权限,确保系统的安全性和稳定性。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Ubuntu Recycle中废弃文件如何恢复