批量创建或者更新用户
命令语法格式
newusers [options] [file]
命令描述
命令newusers读取文件file(或标准输入),并使用此信息更新一组现有用户或创建新用户。文件file中每行的格式与标准密码文件的格式相同(请参阅passwd(5)),但有以下例外情况:
命令newusers首先尝试创建或更改所有指定的用户,然后将这些更改写入用户或组数据库。如果发生错误(最终写入数据库异常除外),则不会对数据库进行任何更改。
在第一次传递期间,将使用锁定的密码创建用户(并且不会为未创建的用户更改密码)。 第二遍用于使用PAM更新密码。 报告无法更新密码,但不会停止其他密码更新。
此命令意图用于一次更新许多帐户的大型系统环境中。
命令支持的选项及含义
命令newusers支持如下选项:
-r, –system
创建系统帐户。
将在/etc/shadow中创建没有时效信息的系统用户,并且在login.defs中定义的SYS_UID_MIN-SYS_UID_MAX范围中选择其ID,而不是UID_MIN-UID_MAX中。同样的,创建组的GID也是如此,会使用与组创建相关的参数。
-R, –root CHROOT_DIR
在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-h, –help
显示帮助选项并退出。
注意事项
由于文件中包含了明文的密码,所以要注意保护文件。
配置文件
在/etc/login.defs中的以下配置变量会影响命令newusers的行为:
GID_MAX (number), GID_MIN (number)
限制了由命令useradd、groupadd、newusers创建的普通组的GID范围。
参数GID_MIN的默认值为1000,相应的GID_MAX为60000。
MAX_MEMBERS_PER_GROUP (number)
每组条目的最大成员数。达到最大值时,将在/etc/group中创建新的组条目(行),并具有相同的名称、相同的密码、相同的GID值。
该属性默认值为0,表示组中的成员数没有限制。
此功能(拆分组)允许限制group文件中的行长度。这有助于确保NIS组的行不超过1024个字符。
如果你需要强制执行此类限制,则可以使用25。
注意:并不是所有工具都支持拆分组,即使在Shadow软件包中也有些工具不支持。除非确实有必要,否则不应使用此变量。
PASS_MAX_DAYS (number)
密码可以使用的最大天数。如果密码早于此天数,则将强制更改密码。如果未指定,则假定为-1(禁用天数限制)。
PASS_MIN_DAYS (number)
两次密码更改之间的最少天数。任何小于该天数的密码更改都将被拒绝。如果未指定,则假定为-1(禁用天数限制)。
PASS_WARN_AGE (number)
密码到期前发出的警告天数。为零表示警告仅在到期日给出,否定表示不给出警告。如果未指定,则不会提供警告。
SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number)
如果/etc/subuid存在,则命令useradd、newusers(除非用户已具有从属GID)为每个新用户分配从SUB_GID_MIN到SUB_GID_MAX范围的SUB_GID_COUNT个未使用的GID。
其中,SUB_GID_MIN,SUB_GID_MAX,SUB_GID_COUNT的默认值分别为100000,600100000和10000。
SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT (number)
如果/etc/subuid存在,则命令useradd、newusers(除非用户已具有从属UID)为每个新用户分配SUB_UID_COUNT个从范围SUB_UID_MIN到SUB_UID_MAX的未使用的UID。
其中,SUB_UID_MIN,SUB_UID_MAX,SUB_UID_COUNT的默认值分别为100000,600100000和10000。
SYS_GID_MAX (number), SYS_GID_MIN (number)
限制了由命令useradd、groupadd、newusers创建的系统组的GID范围。
参数SYS_GID_MIN的默认值为101,相应的SYS_GID_MAX为GID_MIN – 1。
SYS_UID_MAX (number), SYS_UID_MIN (number)
命令useradd、newusers创建的系统用户的UID范围。其中,SYS_UID_MIN的默认值为101;相应的SYS_UID_MAX为UID_MIN-1。
UID_MAX (number), UID_MIN (number)
限制命令useradd、newusers创建的普通用户的UID范围。其中,UID_MIN的默认值为1000;相应的UID_MAX为60000。
UMASK (number)
创建文件时的权限掩码初始化为此值。如果未指定,则掩码将初始化为022。命令useradd、newusers使用此掩码来设置它们创建的主目录的默认权限。它也被pam_umask用作默认的umask值。
相关文件
/etc/passwd
用户帐户信息。
/etc/shadow
安全的用户帐户信息。
/etc/group
组帐户信息。
/etc/gshadow
安全的组帐户信息。
/etc/login.defs
软件包Shadow中各个命令的配置文件。
/etc/subgid
每个用户的从属GID。
/etc/subuid
每个用户的从属UID。
/etc/pam.d/newusers
用于newusers的PAM配置。
相关手册
login.defs(5), passwd(1), subgid(5), subuid(5), useradd(8).
参考文献
- man 8 newusers, Version shadow-utils 4.4
更新日志
- 07/16/2018 创建文章