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 授权、数据库账户与防火墙规则。