功能说明:useradd命令可用于创建新的用户或者更改用户的信息。
语法格式:
useradd [选项] [用户名]
useradd -D [选项]
选项说明:
1.使用useradd常规添加用户工作原理流程:
在使用useradd命令时,若不加任何参数选项,后面直接跟所添加的用户名,那么系统首先会读取 /etc/login.defs (用户定义文件)和 /etc/default/useradd(用户默认配置文件)文件中所定义的参数和规则,然后根据所设置的规则添加用户,同时还会向 /etc/passwd(用户密码文件)和 /etc/group(组文件)文件内添加新用户和新用户组记录,向 /etc/shadow(用户密码文件)和 /etc/gshadow(组密码文件)文件里添加新用户和组对应的密码信息的相关记录。同时系统还会根据 /etc/default/useradd 文件所配置的信息建立用户的家目录,并将/etc/skel 中的所有文件(包括隐藏的环境配置文件)都复制到新用户的家目录中。
2.useradd不加选项 -D 的参数选项及说明
-c comment 新用户password文件中的说明栏(冒号分隔后的第五列)。
-d home_dir 新用户每次登入时所使用的家目录。
-e expire_date 用户终止时间。日期的指定格式为YYYY-MM-DD。
-f inactive_days 用户过期几日后永久停权。当值为0时用户立即被停权,而当值为-1时则关闭此功能,预设值为-1。
-g initial_group 指定用户对应的用户组。用户组名必须为系统现已存在的名称。
-G group,[...] 定义此用户为多个不同组的成员,每个用户组使用逗号(,)分隔。用户组名同 -g选项的限制。默认值为用户的起始用户组。
-m 用户目录如不存在则自动建立。
-M 不建立用户家目录,优先于/etc/login.defs文件设定。创建虚拟用户时一般不需要建立家目录,部署应用服务时则需要创建虚拟用户。
-n 默认情况下用户的用户组与用户的名称是相同的。如果命令添加了-n参数,就不会生成与用户同名的用户组了。
-r 此参数是用来建立系统用户的。系统用户的UID会比定义在系统档上/etc/login.defs 的UID_MIN要小。注意此用法下useradd所建立的用户不会建立用户家目录,也不会在乎记录在/etc/login.def中的定义值。如果需要用户家目录必须额外指定-m参数来建立系统用户。
-s shell 用户登入后使用的Shell名称。默认值为不填写,这样系统会帮助指定预设定的登入Shell(根据/etc/default/useradd预设的值)。
-u uid 用户的UID值。这个值必须是唯一的,除非用-o选项。数字不可为负值。
3.useradd加选项 -D 的参数选项及说明
-b default_home 定义用户家目录的基本目录,当用户家目录不存在时,此目录将作为家目录生效。
-e default_expire_date 用户账号停止时间,格式为YYYY-MM-DD,同useradd 的-e参数。
-f default_inactive 用户过期几日后停权。同useradd 的-f参数。
-g default_group 新用户起始用户组名或ID。用户组名必须为现已存在的名称。用户组ID也必须为现已存在的用户组。用useradd的-g参数。
-s default_shell 用户登入后的Shell名称。同useradd -s参数。