You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 16.04中‘新版’login.defs是什么?默认用户配置改在哪?

嘿,刚好我对Ubuntu 16.04的用户配置这块比较熟悉,来给你拆解一下这个问题~

Ubuntu 16.04中替代login.defs的默认用户配置方案

你发现login.defs被标记为过时是完全正确的——在Debian/Ubuntu体系里,很多原来由login.defs管控的用户默认配置,现在已经拆分到几个更针对性的文件里了,下面给你逐个说明:

1. /etc/default/useradd

这个文件是useradd命令的核心默认配置文件,包含创建用户时的基础规则:比如默认登录shell、用户主目录的默认位置、默认组ID范围等。你可以直接编辑这个文件,或者用更便捷的useradd -D命令来查看/修改这些默认值:

  • 查看当前默认配置:
    useradd -D
    
  • 修改默认shell为/bin/bash:
    useradd -D -s /bin/bash
    

2. /etc/adduser.conf

如果你日常用的是adduser命令(Ubuntu里更常用的交互式创建用户工具,比useradd更友好),它的默认配置全在这个文件里。这里的选项更细致:比如用户主目录的前缀、默认用户ID的起始值、是否自动创建邮件目录、默认的用户组设置等。

举个例子,要是想修改默认用户ID的起始范围,直接编辑文件里的FIRST_UID和LAST_UID字段就行。

3. PAM配置文件(密码策略、登录限制)

如果涉及密码复杂度、过期时间、登录失败锁定这类规则,原来在login.defs里的部分选项,现在由PAM(Pluggable Authentication Modules)模块管理,对应的文件集中在/etc/pam.d/目录下:

  • 密码复杂度规则:编辑/etc/pam.d/common-password,通过pam_cracklib.so模块设置密码长度、字符种类要求等
  • 密码过期策略:/etc/login.defs其实还保留了PASS_MAX_DAYS这类字段,但Ubuntu官方更推荐通过/etc/pam.d/common-password里的pam_unix.so模块参数来配置,两者可以配合使用

补充小提示

虽然login.defs被标记为过时,但它里面的部分配置在Ubuntu 16.04里仍然会被部分系统工具读取。不过如果要修改用户创建的核心默认规则,优先调整/etc/default/useradd和/etc/adduser.conf,密码相关的规则则优先看PAM配置文件。

内容的提问来源于stack exchange,提问作者Tobin Shields

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:07:34