在 Ubuntu(以及一般的 Debian 系 Linux)里,deluser 之所以“需要配置/有配置文件”,原因在于:它不是一个简单写死逻辑的命令,而是一个受策略控制的用户管理系统工具。
下面分点说明为什么 deluser 要配置,以及配置什么。
deluser 本身是一个“策略型脚本”Ubuntu 中的 deluser 来自 adduser 包,本质是一个 Perl 脚本,而不是直接调用 userdel 的薄封装。
它的行为由配置文件决定,例如:
这就决定了它“需要配置”。
/etc/deluser.confdeluser 读取的主要配置文件是:
/etc/deluser.conf
常见配置项示例:
REMOVE_HOME = 0
REMOVE_MAIL = 0
BACKUP = 0
BACKUP_TO = /var/backups
含义:
REMOVE_HOME:是否删除家目录REMOVE_MAIL:是否删除 /var/mail/用户名BACKUP:删除前是否备份如果不配置,行为可能不符合系统管理员预期。
userdel 的区别(为什么不直接用 userdel)很多人会问:为什么不用 userdel?
区别是:
| 工具 | 特点 |
|---|---|
userdel |
底层命令,行为固定,几乎无策略 |
deluser |
高层工具,遵循系统策略,更安全 |
例如:
deluser 会检查用户是否仍在登录deluser 可自动清理系统相关资源deluser 行为受 /etc/deluser.conf 控制在服务器环境中:
因此:
把“删除用户时做什么”写成配置,而不是写死在命令里
这是 Ubuntu 设计 deluser 的核心原因。
deluser alice
默认可能:
显式行为:
deluser --remove-home alice
这会临时覆盖配置。
Ubuntu 的
deluser要配置,是因为它被设计成一个受系统策略控制的用户删除工具,而不是一个简单的命令。
如果你愿意,我可以:
/etc/deluser.conf 示例userdel vs deluser 的实战建议