useradd

创建新用户或更新默认新用户信息

语法

  useradd [options] LOGIN

  useradd -D

  useradd -D [options] 

在不使用-D选项的情况下调用时,useradd命令使用命令行中指定的值加上系统的默认值创建新用户帐户。根据命令行选项,useradd命令将更新系统文件,还可以创建新用户的主目录并复制初始文件

默认情况下,还将为新用户创建一个组 (见-g, -N, -U, and USERGROUPS_ENAB).

选项



   -b, --base-dir BASE_DIR
       如果没有指定-d HOME_DIR,则系统的默认基本目录。
       BASE_DIR与帐户名称连接以定义主目录。
       如果不使用-m选项,BASE_DIR必须存在。
       如果没有指定此选项,
       useradd将使用/etc/default/useradd
       或/HOME中的主变量指定的基本目录。
   -c, --comment COMMENT
       任何文本字符串,
       它通常是对登录的简短描述,目前用作用户全名的字段。 

   -d, --home HOME_DIR
       新用户将使用HOME_DIR作为用户登录目录的值创建

   -D, --defaults
       See below, the subsection "Changing the default values".

   -e, --expiredate EXPIRE_DATE
       禁用用户帐户的日期。

   -f, --inactive INACTIVE
       密码过期后的天数,直到永久禁用帐户为止

   -g, --gid GROUP
       用户初始登录组的组名或编号

   -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
       用户也是其成员的补充组的列表,每个组用逗号分隔

   -h, --help
       显示帮助消息并退出

   -k, --skel SKEL_DIR
       当useradd创建主目录时,主目录包含要在用户的主目录中复制的文件和目录。.

   -K, --key KEY=VALUE
       重写/etc/login.defs 默认为
       (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS).

   -l, --no-log-init
       不将用户添加到lastlog和faillog数据库

   -m, --create-home
       如果用户的主目录不存在,请创建它。

   -M
       不要创建用户的主目录,即使系统范围内
       /etc/login.defs (CREATE_HOME) 设置为yes.

   -N, --no-user-group
       不要创建与用户同名的组

   -o, --non-unique
       允许使用重复的(非唯一的)UID创建用户帐户

   -p, --password PASSWORD
       加密密码,由crypt返回。
       默认设置是禁用密码。

   -r, --system
       创建系统帐户

   -s, --shell SHELL
       用户登录shell的名称。

   -u, --uid UID
       用户ID的数值
       

   -U, --user-group
       创建与用户同名的组,并将用户添加到此组

   -Z, --selinux-user SEUSER
       用于用户登录的SELinux用户。
       默认设置是将此字段留空,这会导致系统进入
       选择默认的SELinux用户。

   更改默认值

   仅使用-D选项调用时,useradd将显示当前
   默认值。当使用-D加上其他选项调用时,useradd会
   更新指定选项的默认值。

  有效的默认更改选项是:

   -b, --base-dir BASE_DIR
       新用户主目录的路径前缀。
       如果在创建新帐户时没有使用-d选项,
       则将用户名附加到BASE_DIR的末尾,以形成新用户的主目录名。

       这个选项设置/etc/default/useradd中的主变量

   -e, --expiredate EXPIRE_DATE
       禁用用户帐户的日期。
       此选项设置/etc/default/useradd.中的EXPIRE变量

   -f, --inactive INACTIVE
       密码过期后的天数
       帐户将被禁用。
       此选项设置/etc/default/useradd.中的非活动变量

   -g, --gid GROUP
       新用户初始组的组名或ID
       (当使用-N/——无用户组时,或当USERGROUPS_ENAB变量设置为no in /etc/login.def 
       .named组必须存在,数值组ID必须有一个现有条目时)。
       这个选项在/etc/default/useradd.中设置组变量d.

   v-s, --shell SHELL
       新用户的登录shell的名称。这个选项在/etc/default/useradd.中设置SHELL变量

笔记

系统管理员负责将默认用户文件放在 /etc/skel/ 目录(或 /etc/default/useradd 或命令行中指定的任何其他框架目录).

Files

/etc/passwd
    用户帐户信息
/etc/shadow
    安全的用户帐户信息
/etc/group
    group帐户信息
/etc/gshadow
    保护组帐户信息。 
/etc/default/useradd
     帐户创建的默认值。 
/etc/skel/
    包含默认文件的目录。 
/etc/login.defs
    密码套件配置.

退出值:

0    成功 
1    无法更新密码文件
2    无效的命令语法
3    选项无效参数 
4    UID已在使用中(并且没有-o) 
6    指定的组不存在
9    用户名已在使用中 
10   无法更新组文件 
12   无法创建主目录 
13   无法创建邮件假脱机 

例子

创建新用户并设置密码:

$ useradd johng
$ passwd johng

创建新用户并设置帐户到期日期:

$ useradd -e 2021-12-31 johng

创建一个新用户并设置30天密码到期(密码到期后30天,除非密码更改,否则帐户将过期):

$ useradd -f 30 johng

创建新用户并设置帐户和密码到期日期:

$ useradd -e 2021-12-31 -f 30 johng

useradd 命令实例:

linux命令:useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 1000 tarunika tarunika 1000 -g 1000 -u Writer" Technical "TecMint -c /bin/zsh -s /var/www/tarunika -d -m useradd useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 1000 tarunikarootopen.com
linux命令:useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 1000 tarunika tarunika 1000 -g 1000 -u Writer" Technical "TecMint -c /bin/zsh -s /var/www/tarunika -d -m useradd useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 1000 tarunikarootopen.com
2018-08-17 23:04:19

linux命令:useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi ravi -U Owner" "TecMint -c /bin/bash -s /var/www/ravi -d -m useradd useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravirootopen.com
linux命令:useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi ravi -U Owner" "TecMint -c /bin/bash -s /var/www/ravi -d -m useradd useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravirootopen.com
2018-08-17 23:01:35

linux命令:useradd -e 2014-04-27 -f 45 tecmint tecmint 45 -f 2014-04-27 -e useradd useradd -e 2014-04-27 -f 45 tecmintrootopen.com
linux命令:useradd -e 2014-04-27 -f 45 tecmint tecmint 45 -f 2014-04-27 -e useradd useradd -e 2014-04-27 -f 45 tecmintrootopen.com
2018-08-17 22:52:54

linux命令:useradd -d /data/projects anusha anusha /data/projects -d useradd useradd -d /data/projects anusharootopen.com
linux命令:useradd -d /data/projects anusha anusha /data/projects -d useradd useradd -d /data/projects anusharootopen.com
2018-08-17 22:36:07

linux命令:useradd myhello myhello useradd useradd myhellorootopen.com
linux命令:useradd myhello myhello useradd useradd myhellorootopen.com
2018-08-17 22:30:17

linux命令:useradd -s /sbin/nologin nicdev nicdev /sbin/nologin -s useradd useradd -s /sbin/nologin nicdevrootopen.com
linux命令:useradd -s /sbin/nologin nicdev nicdev /sbin/nologin -s useradd useradd -s /sbin/nologin nicdevrootopen.com
2018-02-15 06:27:48

linux命令:useradd -m -p $(perl -e'print crypt("pass", "mb")') user user "mb")') crypt("pass", -e'print $(perl -p -m useradd useradd -m -p $(perl -e'print crypt("pass", "mb")') userrootopen.com
linux命令:useradd -m -p $(perl -e'print crypt("pass", "mb")') user user "mb")') crypt("pass", -e'print $(perl -p -m useradd useradd -m -p $(perl -e'print crypt("pass", "mb")') userrootopen.com
2018-03-19 02:05:48

linux命令:useradd -m -p $(perl -e'print crypt("passwordscelta", "stigghiola")') user user "stigghiola")') crypt("passwordscelta", -e'print $(perl -p -m useradd useradd -m -p $(perl -e'print crypt("passwordscelta", "stigghiola")') userrootopen.com
linux命令:useradd -m -p $(perl -e'print crypt("passwordscelta", "stigghiola")') user user "stigghiola")') crypt("passwordscelta", -e'print $(perl -p -m useradd useradd -m -p $(perl -e'print crypt("passwordscelta", "stigghiola")') userrootopen.com
2018-01-05 02:59:48

linux命令:useradd -g linux anish && id id && anish linux -g useradd useradd -g linux anish && idrootopen.com
linux命令:useradd -g linux anish && id id && anish linux -g useradd useradd -g linux anish && idrootopen.com
2018-05-06 11:23:48

linux命令:useradd -m -s /bin/bash -p $(mkpasswd --hash=SHA-512 password) username username password) --hash=SHA-512 $(mkpasswd -p /bin/bash -s -m useradd useradd -m -s /bin/bash -p $(mkpasswd --hash=SHA-512 password) usernamerootopen.com
linux命令:useradd -m -s /bin/bash -p $(mkpasswd --hash=SHA-512 password) username username password) --hash=SHA-512 $(mkpasswd -p /bin/bash -s -m useradd useradd -m -s /bin/bash -p $(mkpasswd --hash=SHA-512 password) usernamerootopen.com
2018-03-10 22:15:48

linux命令:useradd -G {group-name} username username {group-name} -G useradd useradd -G {group-name} usernamerootopen.com
linux命令:useradd -G {group-name} username username {group-name} -G useradd useradd -G {group-name} usernamerootopen.com
2018-03-29 16:30:48

Linux的Bash命令行(A-Z排序)