温馨提示×

centos lnmp如何管理用户权限

小樊
104
2025-02-14 06:13:16
栏目: 智能运维

在CentOS系统中,使用LNMP(Linux, Nginx, MySQL, PHP)搭建的服务器,管理用户权限是一个重要的安全措施。以下是一些关键步骤和最佳实践:

1. 用户账户管理

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

2. 文件和目录权限

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

3. Nginx用户权限

  • 配置Nginx以使用非root用户运行: 编辑/etc/nginx/nginx.conf,找到user指令并设置为非root用户(例如nginx):
    user nginx;
    
  • 重启Nginx服务
    sudo systemctl restart nginx
    

4. MySQL/MariaDB用户权限

  • 登录MySQL/MariaDB
    mysql -u root -p
    
  • 创建新用户
    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以使用非root用户运行: 编辑/etc/php-fpm.d/www.conf,找到usergroup指令并设置为非root用户(例如www-data):
    user = www-data
    group = www-data
    
  • 重启PHP-FPM服务
    sudo systemctl restart php-fpm
    

6. SELinux配置

  • 检查SELinux状态
    sestatus
    
  • 临时禁用SELinux(不推荐长期使用):
    sudo setenforce 0
    
  • 永久禁用SELinux(需要修改/etc/selinux/config):
    SELINUX=disabled
    
  • 配置SELinux策略: 使用semanage工具来管理SELinux策略,例如:
    sudo semanage fcontext -a -t httpd_sys_content_t "/path/to/your/file"
    sudo restorecon -v "/path/to/your/file"
    

7. 定期审计和监控

  • 使用auditd进行审计
    sudo yum install audit
    sudo systemctl enable auditd
    sudo systemctl start auditd
    
  • 配置审计规则: 编辑/etc/audit/audit.rules,添加需要审计的规则。

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

0