在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
,找到user
和group
指令并设置为非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环境的用户权限,提高系统的安全性和稳定性。