Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。本文主要介绍Linux adduser 命令。

1、命令简介

adduser命令就是英语“add user”的意思,用于新增使用者帐号或更新预设的使用者信息。adduseruseradd 指令为同一指令(就是软链接 symbolic link)。

2、命令用法

useradd [optionsLOGIN
useradd -D
useradd -D [options]

3、命令描述

在不使用-D选项调用时,useradd命令使用命令行上指定的值和系统中的默认值创建一个新用户帐户。根据命令行选项,useradd命令将更新系统文件,还可能创建新用户的主目录并复制初始文件。Red Hat Linux提供的版本将为默认添加到系统中的每个用户创建一个组。

4、命令选项

选项

描述

-c, --comment COMMENT

 

任何文本字符串。它通常是对登录的简短描述,

目前用作用户全名的字段。

-b, --base-dir BASE_DIR

 

如果没有指定-d dir,系统的默认基目录。BASE_DIR与帐户名连接,

以定义主目录。如果没有使用-m选项,则必须存在BASE_DIR

-d, --home HOME_DIR

 

将使用HOME_DIR作为用户登录目录的值来创建新用户。

默认情况下,将LOGIN名称附加到BASE_DIR并将其用作登录目录名称。

目录HOME_DIR不需要存在,但如果缺少它将不会被创建。

-e, --expiredate EXPIRE_DATE

 

用户帐户将被禁用的日期。日期的格式为YYYY-MM-DD

-f, --inactive INACTIVE

 

密码到期后直到帐户永久禁用的天数。

0将在密码过期后立即禁用该帐户,

-1将禁用该特性。默认值为-1

-g, --gid GROUP

 

用户初始登录组的组名或组号。组名必须存在。

组号必须指向已经存在的组。/etc/default/useradd

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]

 

用户也是其成员的补充组列表。每一组与下一组之间用逗号隔开,

中间没有空格。这些组受到与-g选项给出的组相同的限制。

默认情况下,用户只属于初始组。

-h, --help

 

显示帮助信息并退出。

-M

即使/etc/login.defs的系统范围设置是创建主目录,

用户的主目录也不会被创建。

-m, --create-home

 

如果用户的主目录不存在,则会创建它。如果使用-k选项,

则将包含在SKEL_DIR中的文件复制到主目录,

否则将使用/etc/skel中的文件。

包含在SKEL_DIR/etc/skel中的任何目录也将在用户的主目录中创建。

-k选项只能与-m选项结合使用。默认情况下,不创建目录,也不复制任何文件。

-l

不要将该用户添加到最后一次登录日志文件中。这是 Red Hat增加的一个选项。

-n

默认情况下,系统将创建与添加到系统中的用户同名的组。

此选项将关闭此Red Hat Linux特定的行为。当使用此选项时,

默认情况下用户将被放在/etc/default/useradd中指定的组中。

如果没有定义默认组,则将使用组1。

-K, --key KEY=VALUE

 

覆盖/etc/login.defs默认值(UID_MIN, UID_MAX, UMASK, 

PASS_MAX_DAYS和其他)。

示例:-K PASS_MAX_DAYS=-1可以在创建系统帐户时使用,

以关闭密码过期,即使系统帐户根本没有密码。

可以指定多个-K选项,

例如-K UID_MIN=100 -K UID_MAX=499

注意-K UID_MIN=10,UID_MAX=499还不起作用。

-o, --non-unique

 

允许使用重复的(非唯一的)UID创建用户帐户。

-p, --password PASSWORD

 

加密的密码,由crypt(3)返回。默认是禁用该帐户。

-r

该标记用于创建系统帐户。

即UID小于/etc/login.defs中定义的UID_MIN值且密码未过期的用户。

注意,不管/etc/login.defs中的默认的设置,

useradd不会为这样的用户创建主目录。

如果要为系统帐户创建一个主目录,

必须指定-m选项。这是Red Hat增加的一个选项。

-s, --shell SHELL

 

用户登录shell的名称。默认情况下,

将该字段保留为空,

这将导致系统选择默认登录shell。

-u, --uid UID

 

用户ID的数值。该值必须唯一,除非使用-o选项。

该值必须是非负的。默认情况下,最小的ID值大于999,

并且大于其他所有用户。

0到999之间的值通常为系统帐户保留。

-Z, --selinux-user SEUSER

 

用于用户登录的SELinux用户。默认情况下,

将该字段保留为空,这将导致系统选择默认的SELinux用户。

更改默认值:
当使用-D选项调用useradd时,它要么显示当前的默认值,要么从命令行更新默认值。有效的选项如下:

选项

描述

-b HOME_DIR

 

新用户主目录的初始路径前缀。

如果在创建新帐户时没有使用-d选项,

则用户名将被附加到HOME_DIR的末尾,

以创建新的目录名。

-e EXPIRE_DATE

 

用户帐户被禁用的日期。

-f INACTIVE

 

密码过期后的天数,

该帐户将被禁用。

-g, --gid GROUP

 

新用户初始组的组名或ID。

命名组必须存在,

并且数字组ID必须有现有的条目。

-s, --shell SHELL

 

新用户登录shell的名称。

命名的程序将用于所有未来的新用户帐户。

5、相关文件

文件

说明

/etc/passwd

 

用户帐户信息。

/etc/shadow

 

安全用户帐户信息。

/etc/group

 

用户组信息

/etc/gshadow

 

安全组帐户信息。

/etc/default/useradd

 

帐户创建的默认值。

/etc/skel/

 

包含默认文件的目录。

/etc/login.defs

 

设置用户帐号限制的文件。该文件里的配置对root用户无效。

6、命令返回值

命令

说明

0

成功

1

无法更新密码文件

2

无效的命令语法

3

选项的参数无效

4

UID已经在使用中(和否-o)

6

指定的组不存在

9

用户名已在使用中

10

无法更新组文件

12

不能创建主目录

13

无法创建邮件卷轴

推荐文档