如何限制deluser命令的使用权限
导读:限制 deluser 使用权限的可行方案 前置说明 在 Debian/Ubuntu 等系统中,deluser 用于删除用户账户,执行该命令需要具备 root 或 sudo 权限;普通用户直接执行会被拒绝。因此,限制使用权限的核心在于控制谁...
限制 deluser 使用权限的可行方案
前置说明
- 在 Debian/Ubuntu 等系统中,deluser 用于删除用户账户,执行该命令需要具备 root 或 sudo 权限;普通用户直接执行会被拒绝。因此,限制使用权限的核心在于控制谁能通过 sudo 调用它,以及能否直接以 root 登录。
推荐做法 基于 sudo 的精细化授权
- 原则:不要给全员开放无限制的 NOPASSWD: ALL,仅对受管账号按需开放最小权限。
- 步骤
- 创建受限管理员组并加入目标账号
- 建议新建专用组(如 deluser-admins),避免直接使用 sudo 组。
- 将需要授权的账号加入该组:
- 使用 usermod -aG deluser-admins < 账号>
- 配置 sudo 规则,仅允许该组以 root 身份运行 deluser
- 编辑文件:/etc/sudoers.d/deluser-restrict(推荐用 visudo 校验)
- 写入示例(两种常见需求):
- 仅允许删除指定用户(示例白名单:alice、bob)
%deluser-admins ALL=(root) /usr/sbin/deluser alice, /usr/sbin/deluser bob - 允许删除任意用户,但禁止删除关键系统账户(黑名单:root、daemon、bin、sys 等)
%deluser-admins ALL=(root) /usr/sbin/deluser !root, !daemon, !bin, !sys, !sync, !games, !man, !lp, !mail, !news, !uucp, !proxy, !www-data, !backup, !list, !irc, !gnats, !dhcp, !sshd, !nobody, !systemd-network, !systemd-resolve, !syslog, !messagebus, !_apt, !uuidd, !tcpdump- 说明:sudoers 的“否定项”必须放在命令末尾,且需确保目标账户不在禁止名单中;如需更细粒度,可拆分为多条规则分别放行/禁止。
- 仅允许删除指定用户(示例白名单:alice、bob)
- 校验与收敛
- 切换到受管账号,验证:
- 允许删除的账号应成功:sudo deluser alice
- 禁止删除的账号应被拒绝:sudo deluser root(应提示拒绝或被黑名单拦截)
- 收敛 root 直接登录(如 /etc/ssh/sshd_config 中设置 PermitRootLogin no),统一走受限 sudo。
- 切换到受管账号,验证:
- 创建受限管理员组并加入目标账号
- 注意
- 不同发行版中 deluser 路径可能不同,常见为 /usr/sbin/deluser 或 /usr/bin/deluser;请先用 which deluser 确认后写入 sudoers。
- 始终使用 visudo 或写入 /etc/sudoers.d/ 并通过语法检查,避免破坏 sudo 配置。
可选增强 审计与二次确认
- 审计追踪
- 启用 auditd 记录 deluser 调用,便于事后溯源:
sudo apt-get install -y auditd audispd-plugins echo '-a always,exit -F path=/usr/sbin/deluser -F perm=x -k user-del' | sudo tee -a /etc/audit/rules.d/deluser.rules sudo systemctl restart auditd - 查询示例:ausearch -k user-del
- 启用 auditd 记录 deluser 调用,便于事后溯源:
- 操作确认
- 在 sudoers 中强制交互确认(对特定账号或组):
%deluser-admins ALL=(root) NOPASSWD: /usr/sbin/deluser, PASSWD: /usr/sbin/deluser * - 或在运维流程中要求在执行删除前走工单审批与双人复核,降低误删风险。
- 在 sudoers 中强制交互确认(对特定账号或组):
常见加固清单
- 禁止 root 远程登录(如 SSH),仅允许通过跳板机或控制台使用受限 sudo。
- 定期审计 /etc/sudoers 与 /etc/sudoers.d/ 的变更,确保未新增过度授权。
- 对关键系统账户(如 root、daemon、www-data、ssh 等)设置删除黑名单,避免被误删或滥用。
- 结合备份与变更管理,删除用户前先确认无业务依赖与正在运行的系统服务关联。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何限制deluser命令的使用权限
本文地址: https://pptw.com/jishu/789896.html
