在 Ubuntu 里,deluser(实际上是 userdel 的前端脚本)本身没有“配置文件”可以改默认行为像改环境变量那样,但你可以通过几种方式来“改变它的默认设置/行为”。
下面按常见需求说明。
默认情况:
deluser username
不会删除家目录和邮件池。
用参数:
deluser --remove-home username
如果你希望“以后都这样”,可以:
alias deluser='deluser --remove-home'
放到:
~/.bashrc
或全局:
/etc/bash.bashrc
deluser --remove-all-files username
这会删除该用户拥有的所有文件(不只是家目录)。
deluser 底层调用 userdel,userdel 的行为受:
/etc/login.defs相关项:
USERDEL_CMD
以及(某些版本):
REMOVE_HOME no
你可以修改:
sudo nano /etc/login.defs
例如:
USERDEL_CMD /usr/sbin/userdel_local
⚠️ 注意:Ubuntu 的 deluser 脚本不完全遵循 login.defs 的 REMOVE_HOME,所以最可靠方式还是用参数或别名。
deluser 会读取:
/etc/deluser.conf
示例内容:
REMOVE_HOME = no
REMOVE_ALL_FILES = no
BACKUP = no
你可以改成:
REMOVE_HOME = yes
✅ 这是最接近“改默认设置”的方法。
例如:
#!/bin/bash
/usr/sbin/deluser --remove-home "$@"
保存为:
/usr/local/bin/deluser
并赋予权限:
chmod +x /usr/local/bin/deluser
| 需求 | 方法 |
|---|---|
| 临时 | deluser --remove-home |
| 用户级默认 | ~/.bashrc 别名 |
| 系统级默认 | 改 /etc/deluser.conf |
| 最强控制 | 封装脚本 |
如果你能说清楚你想改哪一个默认行为(比如“默认删家目录”或“默认不备份”),我可以给你精确配置。