温馨提示×

Debian LAMP怎样管理用户

小樊
43
2025-11-17 03:05:19
栏目: 智能运维

Debian LAMP 用户管理实操指南

一 系统用户与组管理

  • 创建与删除
    • 创建系统用户:sudo adduser username(交互设置密码与信息);删除用户:sudo deluser username(如需同时删除主目录与邮件假脱机,使用 --remove-home)。
  • 修改与分组
    • 改名:sudo usermod -l newname oldname;改主目录并迁移:sudo usermod -d /new/home -m newname;加入附加组:sudo usermod -aG groupname username;从组移除:sudo gpasswd -d username groupname。
  • 查询与审计
    • 查看组与成员:getent group;查看登录与进程:who、w、ps -u username。
  • sudo 授权
    • 安全编辑 sudoers:sudo visudo;按需为用户或组授予权限,例如:username ALL=(ALL:ALL) ALL(谨慎最小化授权)。
  • 安全基线
    • 避免使用 root 进行日常操作;为 SSH 使用密钥登录并禁用 root 远程登录(PermitRootLogin no);必要时配置防火墙仅放行 SSH/HTTP/HTTPS

二 Apache 与 PHP 运行身份及权限

  • 运行身份
    • Debian 上 Apache 默认以 www-data:www-data 运行;如需变更,编辑 /etc/apache2/envvars 中的 APACHE_RUN_USER/APACHE_RUN_GROUP,变更后执行 sudo systemctl restart apache2。
  • 网站目录权限
    • 推荐将站点目录属主设为 www-data,权限 755(目录)/ 644(文件):sudo chown -R www-data:www-data /var/www/your-site;sudo find /var/www/your-site -type d -exec chmod 755 {} +;sudo find /var/www/your-site -type f -exec chmod 644 {} +。
  • PHP-FPM 场景
    • /etc/php/{version}/fpm/pool.d/www.conf 中设置:user = www-data、group = www-data;监听套接字建议为 /run/php/php{version}-fpm.sock,并设置 listen.owner/listen.group 为 www-data;Apache 侧启用 mod_proxy_fcgi 并通过 FilesMatch 将 .php 请求代理到该套接字;修改后重启服务:sudo systemctl restart apache2 与 sudo systemctl restart php{version}-fpm。
  • Apache 基本安全
    • 禁用目录浏览:在 中使用 Options -Indexes;仅暴露必要接口与错误页面,减少信息泄露。

三 MariaDB MySQL 用户与权限

  • 安装与安全初始化
    • 安装:sudo apt install mariadb-server(或 mysql-server);运行安全脚本:sudo mysql_secure_installation(设置 root 强密码、删除匿名用户、禁止 root 远程、移除测试库)。
  • 创建数据库与用户
    • 登录:mysql -u root -p;创建库与用户并授权:CREATE DATABASE mydb; CREATE USER ‘myuser’@‘localhost’ IDENTIFIED BY ‘StrongPass!’; GRANT ALL PRIVILEGES ON mydb.* TO ‘myuser’@‘localhost’; FLUSH PRIVILEGES;(按需细化主机为应用服务器 IP 或 %,生产环境不建议 %)。
  • 网络与访问控制
    • 仅本地访问:编辑 /etc/mysql/mysql.conf.d/mysqld.cnf,设置 bind-address = 127.0.0.1;如需远程管理,仅允许受控网段并配合防火墙。
  • 维护与审计
    • 定期备份与权限复核;查看与终止可疑连接(如 SHOW PROCESSLIST; KILL ;);保持数据库组件更新。

四 权限模型与最佳实践

  • 最小权限原则
    • 系统用户仅授予完成职责所需权限;数据库用户遵循“最小库/表/列权限”;禁用不必要的 PHP 危险函数(如 exec/system/passthru 等)。
  • 访问控制增强
    • 使用 ACL 为特定用户/组对目录授予精细化权限:setfacl -m u:username:rwx /path;必要时启用 AppArmor(Debian 默认启用)以限制进程能力。
  • 日志与入侵防护
    • 审计关键日志:sudo tail -f /var/log/apache2/access.log /var/log/mysql/error.log;部署 fail2ban 防护暴力破解;定期运行 Lynis 等安全基线扫描。
  • 持续运维
    • 保持系统与组件更新:sudo apt update && sudo apt upgrade;定期复核用户清单、sudo 授权、数据库账户与防火墙规则。

0