精华内容
下载资源
问答
  • linux 详解useradd 命令基本用法 概要: 在 Linux 中 useradd 是个很基本的命令,但是使用起来却很不直观。以至于在 Ubuntu 中居然添加了一个 adduser 命令来简化添加用户的操作。本文主要描述笔者在学习使用 ...
  • 本文通过代码示例给大家介绍了adduser与useradd命令二者的关系 以及使用useradd命令添加用户的方法,需要的朋友参考下吧
  • Linux下useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。接下来通过本文给大家介绍每天必学Linux命令之 useradd/adduser 新增用户的相关知识,需要的朋友参考下吧
  • 在 Linux 中 useradd 是个很基本的命令,但是使用起来却很不直观。以至于在 Ubuntu 中居然添加了一个 adduser 命令来简化添加用户的操作。本文主要描述笔者在学习使用 useradd 命令时的一些测试结果。  说明:本文...
  • useradd

    千次阅读 2018-08-02 21:10:00
    功能说明:useradd命令可用于创建新的用户或者更改用户的信息。 语法格式:useradd [选项] [用户名]useradd -D [选项] 选项说明:1.使用useradd常规添加用户工作原理流程:在使用useradd命令时,若不加任何参数...

    功能说明: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参数。

     

    转载于:https://www.cnblogs.com/liang545621/p/9409898.html

    展开全文
  • 主要介绍了useradd命令使用方法,还包括用户账号的添加、删除与修改、用户口令的管理、用户组的管理方法,大家参考使用吧
  • useradd建立用户的过程 useradd不加任何参数创建用户时,系统首先读取添加用户配置文件/etc/login.defs和/etc/default/useradd,根据这两个配置文件中定义的规则添加用户,然后会向/etc/passwd和/etc/group文件添加...

    useradd建立用户的过程
    useradd不加任何参数创建用户时,系统首先读取添加用户配置文件/etc/login.defs和/etc/default/useradd,根据这两个配置文件中定义的规则添加用户,然后会向/etc/passwd和/etc/group文件添加用户和用户组记录,同时/etc/passwd和/etc/group对应的加密文件也会自动生成记录,接着系统会自动在/etc/default/useradd文件设定的目录下建立用户主目录,最后复制/etc/skel目录中的所有文件到新用户的主目录中,这样一个新的用户就建立完成了。

    注意:使用passwd命令给useradd新建立的用户指定登录密码,注意如果不指定登录密码那么useradd新增的用户是无法登录的。

    Options:
      -b, --base-dir BASE_DIR       base directory for the home directory of the new account,指定主目录,注意该主目录所在目录(-b的参数值)需要使得新建立的用户具有rx权限,否则新建立的用户登录后无法进入该主目录-亚强,参见案例八。
      -c, --comment COMMENT         GECOS field of the new account新增用户指定用户的注释信息,参见案例九。

      -d, --home-dir HOME_DIR       home directory of the new account
      -D, --defaults                print or change default useradd configuration,查看useradd若未指定相关参数情况下的默认值,参见案例一,这些默认值存储在/etc/default/useradd文件。
      -e, --expiredate EXPIRE_DATE  expiration date of the new account,用YYYYY-MM-DD格式指定一个账户过期的日期 ,参见案例十。
      -f, --inactive INACTIVE       password inactivity period of the new account案例十一:定这个帐户密码过期后多少天这个账户被禁用;0表示密码一过期就立即禁 用,-1表示禁用这个功能,这里可以设置一个整数,单位为天,如果不设置该值,那么一般默认为空。
      -g, --gid GROUP               name or ID of the primary group of the new account,新增用户指定用户的基本组,参见案例六。当通过useradd命令创建新用户时,可以通过-g参数指定已存在的某个组为其主组,若没有使用-g参数,则系统自动创建名称和用户名相同的组作为该用户的主组(前提是variable in /etc/login.defs的USERGROUPS_ENAB属性值为yes),如命令手册的useradd关于-g参数的描述所示:
    -g, --gid GROUP
    The group name or number of the user′s initial login group. The
    group name must exist. A group number must refer to an alreadyexisting group.If not specified, the bahavior of useradd will depend on the USERGROUPS_ENAB variable in /etc/login.defs. If this variable is
    set to yes (or -U/--user-group is specified on the command line), a group will be created for the user, with the same name as her
    loginname. If the variable is set to no (or -N/--no-user-group is specified on the command line), useradd will set the primary group of the new user to the value specified by the GROUP variable in
    /etc/default/useradd, or 100 by default.(亚强:如果设置为yes则自动新建一个组,如果设置为no,则基本组的值为/etc/default/useradd中GROUP参数的值,通常centos6.5初始化该值为GROUP=100)参见案例六

      -G, --groups GROUPS           list of supplementary groups of the new  account新增用户,指定用户的附属组。 指定用户除登录组之外所属的一个或多个附加组,若同时指定多个附加组,那么使用逗号分开。 如:useradd -G apache,mysql usr_junjun,参见案例七。
      -h, --help                    display this help message and exit
      -k, --skel SKEL_DIR           use this alternative skeleton directory
      -K, --key KEY=VALUE           override /etc/login.defs defaults
      -l, --no-log-init             do not add the user to the lastlog and
                                    faillog databases
      -m, --create-home             create the user's home directory
      -M, --no-create-home          do not create the user's home directory
      -N, --no-user-group           do not create a group with the same name as  the user
      -o, --non-unique              allow to create users with duplicate  (non-unique) UID,加入该参数,那么允许新增加的用户的uid与之前已经存在的uid一样。不建议出现重名的uid-亚强
      -p, --password PASSWORD       encrypted password of the new account,为用户账户指定默认密码,该密码应该是使用passwd命令加密后的字符串,用户登录的时候,使用加密之前的密码登录。该-p的值将不做任何改动直接存储到 /etc/shadow中的第二个字段密码字段。 参见案例十二。

      -r, --system                  create a system account
      -s, --shell SHELL             login shell of the new account,新增用户指定用户使用的shell编译器,参见案例五。
      -u, --uid UID                 user ID of the new account,案例十三: -u uid 为账户指定一个唯一的UID 
      -U, --user-group              create a group with the same name as the user
      -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

    [root@iZ25sngm7hfZ ~]#

    案例一:查看useradd若未指定相关参数情况下的默认值

    [root@iZ25sngm7hfZ ~]# useradd -D
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes
    [root@iZ25sngm7hfZ ~]#

    解释:
    1)新用户添加到GID为100的公共组(首先明确这些默认值存储在/etc/default/user文件中,若没有使用-g参数,
    则系统自动创建名称和用户名相同的组作为该用户的主组(前提是variable in /etc/login.defs的USERGROUPS_ENAB属性值为yes),如果USERGROUPS_ENAB的值设置为no,则基本组的值为/etc/default/useradd中GROUP参数的值,通常centos6.5初始化该值为GROUP=100,)

    2)新用户的HOME目录将会位于/homoe/username
    3)新用户账户密码在过期后不会被禁用,-1标示不会禁用,0标示过期后立即禁用。
    4)新用户账户未被设置为某个日期后就过期
    5)新用户账户将bash shell作为默认shell
    6)系统会自动将/etc/skel目录下的内容复制到新建用户的HOME目录下
    7)系统为该用户账户在mail目录下创建一个用于接收邮件的文件

    倒数第2个值很有意思。useradd命令允许管理员创建一个默认的HOME目录配置,然后把它作为创建新用户HOME目录的模板。这样,就能自动在每个新用户的HOME目录里放置默认的系统文件。在Ubuntu Linux系统上,/etc/skel目录下有下列文件:
    $ ls -la /etc/skel 
    total 32 
    drwxr-xr-x 2 root root 4096 Jun 24 09:43 . 
    drwxr-xr-x 132 root root 12288 Jun 19 09:53 .. 
    -rw-r--r-- 1 root root 220 Apr 3 2012 .bash_logout 
    -rw-r--r-- 1 root root 3486 Apr 3 2012 .bashrc 
    -rw-r--r-- 1 root root 179 Apr 3 2012 example.desktop 
    -rw-r--r-- 1 root root 675 Apr 3 2012 .profile 
    案例二:使用默认值添加一个用户并查看相关信息

    [root@iZ25sngm7hfZ ~]# useradd wyq
    [root@iZ25sngm7hfZ ~]# useradd wyq1

    [root@iZ25sngm7hfZ ~]# useradd wyq2

    [root@iZ25sngm7hfZ ~]# useradd wyq3

    [root@iZ25sngm7hfZ ~]# useradd wyq4
    [root@iZ25sngm7hfZ ~]# cat /etc/passwd |grep wyq#分析:第一个参数为指定的用户名;第二个字段默认为“x”,第三个字段默认从500开始,将当前已经存在的最大的uid自增一作为uid默认值;第四个字段:默认新建一个用户组,用户组GID与用户名uid一样;第五个字段默认为空;第六个字段取默认值useradd -D的默认值HOME=/home,那么在/home路径下新建一个以用户名为名字的目录/home/wyq;第七个字段取默认值useradd -D的默认值SHELL = /bin/bash
    wyq:x:500:500::/home/wyq:/bin/bash
    wyq1:x:501:501::/home/wyq1:/bin/bash
    wyq2:x:502:502::/home/wyq2:/bin/bash
    wyq3:x:503:503::/home/wyq3:/bin/bash
    wyq4:x:504:504::/home/wyq4:/bin/bash
    [root@iZ25sngm7hfZ ~]# cat /etc/group |grep wyq
    wyq:x:500:
    wyq1:x:501:
    wyq2:x:502:
    wyq3:x:503:
    wyq4:x:504:

    [root@iZ25sngm7hfZ ~]# id wyq1
    uid=501(wyq1) gid=501(wyq1) groups=501(wyq1)
    [root@iZ25sngm7hfZ ~]# id wyq2
    uid=502(wyq2) gid=502(wyq2) groups=502(wyq2)
    [root@iZ25sngm7hfZ ~]# id wyq3
    uid=503(wyq3) gid=503(wyq3) groups=503(wyq3)

    [root@iZ25sngm7hfZ ~]# id wyq4
    uid=504(wyq4) gid=504(wyq4) groups=504(wyq4)

    案例三:不能添加已经存在的用户名

    [root@iZ25sngm7hfZ ~]# useradd wyq
    useradd: user 'wyq' already exists

    案例四:修改-D参数的默认值,我们以改变默认SHELL为例说明,其他类似
    [root@iZ25sngm7hfZ ~]# useradd -D
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/tsch
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes
    [root@iZ25sngm7hfZ ~]# useradd -D -s /bin/bash #该方法永久改变useradd -D的默认值,经测试当你重启centos系统后,该值仍然是更改后的值。
    [root@iZ25sngm7hfZ ~]# useradd -D
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes
    [root@iZ25sngm7hfZ ~]#

    案例五:新增用户指定用户使用的shell编译器

    [root@iZ25sngm7hfZ ~]# useradd -D
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes
    [root@iZ25sngm7hfZ ~]# useradd -s /bin/tsch user_she #指定用户的shell脚本
    [root@iZ25sngm7hfZ ~]# cat /etc/passwd |grep user_she
    user_she:x:510:510::/home/user_she:/bin/tsch
    [root@iZ25sngm7hfZ ~]#

    案例六:新增用户指定用户的基本组

    [root@iZ25sngm7hfZ ~]# useradd -g apache apach_one
    [root@iZ25sngm7hfZ ~]# id apach_one
    uid=509(apach_one) gid=48(apache) groups=48(apache)

    [root@iZ25sngm7hfZ ~]# useradd -G apache he #可见仅仅给了附属组,没有给定基本组参数-g,那么默认自己建立一个与用户名相同的基本组。
    [root@iZ25sngm7hfZ ~]# id he
    uid=508(he) gid=508(he) groups=508(he),48(apache)

    案例七:新增用户指定用户的附属组

    [root@iZ25sngm7hfZ ~]# useradd -G apache he #可见仅仅给了附属组,没有给定基本组参数-g,那么默认自己建立一个与用户名相同的基本组。
    [root@iZ25sngm7hfZ ~]# id he
    uid=508(he) gid=508(he) groups=508(he),48(apache)

    [root@iZ25sngm7hfZ skel]# useradd -G apache,mysql j #同时指定多个附属组
    [root@iZ25sngm7hfZ skel]# id j
    uid=522(j) gid=522(j) groups=522(j),48(apache),27(mysql)
     
    [root@iZ25sngm7hfZ skel]# cat /etc/group |grep mysql
    mysql:x:27:j
    [root@iZ25sngm7hfZ skel]# cat /etc/group |grep apache
    apache:x:48:he,j
    [root@iZ25sngm7hfZ skel]#

    案例八:新增用户指定用户的主目录

    [root@iZ25sngm7hfZ ~]# useradd -b /home/wyq man_girl
    [root@iZ25sngm7hfZ ~]# cat /etc/passwd |grep man_girl
    man_girl:x:511:511::/home/wyq/man_girl:/bin/bash

    案例九:新增用户指定用户的注释信息

    [root@iZ25sngm7hfZ ~]# useradd -c '该账号用于测试-王亚强'  user_d
    [root@iZ25sngm7hfZ ~]# cat /etc/passwd |grep user_d
    user_d:x:515:515:该账号用于测试-王亚强:/home/user_d:/bin/bash
    [root@iZ25sngm7hfZ ~]#

    案例十:用YYYYY-MM-DD格式指定一个账户过期的日期
    [root@iZ25sngm7hfZ skel]# useradd -e '2016-4-30' user_junjun

    [root@iZ25sngm7hfZ skel]# cat /etc/shadow |grep user_junjun #下面红色字体为记录的过期时间,单位为天。
    user_junjun:!!:16904:0:99999:7::16921:
    [root@iZ25sngm7hfZ skel]# cat /etc/passwd |grep user_junjun
    user_junjun:x:519:519::/home/user_junjun:/bin/bash

    案例十一:定这个帐户密码过期后多少天这个账户被禁用;0表示密码一过期就立即禁用,-1表示禁用这个功能,这里可以设置一个整数,单位为天,如果不设置该值,那么一般默认为空。

    [root@iZ25sngm7hfZ skel]# useradd -f 20  xiaoxiao
    [root@iZ25sngm7hfZ skel]# cat /etc/passwd |grep xiaoxiao
    xiaoxiao:x:521:521::/home/xiaoxiao:/bin/bash
    [root@iZ25sngm7hfZ skel]# cat /etc/shadow |grep xiaoxiao #下面的红色字体存储着该用户密码到期后仍然有效的天数。
    xiaoxiao:!!:16904:0:99999:7:20::
    [root@iZ25sngm7hfZ skel]#

    案例十二: 为用户账户指定默认密码,该密码应该是使用passwd命令加密后的字符串,用户登录的时候,使用加密之前的密码登录。该-p的值将不做任何改动直接存储到 /etc/shadow中的第二个字段密码字段。

    [root@iZ25 skel]# useradd -p '$6$K7XLURa0$ZFovTMlPi8nwM9iyDWdvBqvQqBt0FMcpPiJtGIYMk7k.Pq6aL.LX0nptBXgi0BIOOFeUH8RdQ/iZXDIxctKv/0' user_ju
    [root@iZ25 skel]# cat /etc/shadow |grep user_ju
    user_ju:$6$K7XLURa0$ZFovTMlPi8nwM9iyDWdvBqvQqBt0FMcpPiJtGIYMk7k.Pq6aL.LX0nptBXgi0BIOOFeUH8RdQ/iZXDIxctKv/0:16904:0:99999:7:::

    [root@iZ25 skel]# cat /etc/passwd |grep user_ju
    user_ju:x:526:526::/home/user_ju:/bin/bash

    案例十三: -u uid 为账户指定一个唯一的UID

    [root@iZ25sngm7hfZ skel]# useradd -u 560 u
    [root@iZ25sngm7hfZ skel]# id u
    uid=560(u) gid=560(u) groups=560(u)

    案例十四:/etc/default/useradd文件定义了新建用户的一些默认属性,比如用户的主目录、使用的shell等等,通过更改此文件,可以改变创建新用户的默认属性值。
    改变此文件有两种方法,一种是通过文本编辑器方式更改,另一种是通过useradd命令来更改。这里介绍一下第二种方法:

    Useradd命令加“-D”参数后,就可以修改配置文件/etc/default/useradd,使用的一般格式为:

    useradd -D [-g group] [-b base] [-s shell] [-f inactive] [-e expire ]

    每个选项详细含义如下:
     -g default_group
    表示新建用户的起始组名或者GID,组名必须为已经存在的用户组名称,GID也必须是已经存在的用户组GID。与/etc/default/useradd文件中“GROUP”行对应。
     -b default_home
    指定新建用户主目录的上级目录,也就是所有新建用户都会在此目录下创建自己的主目录。与/etc/default/useradd文件中HOME行对应。
     -s default_shell
    指定新建用户默认使用的shell,与/etc/default/useradd文件中“SHELL”行对应。
     -f default_inactive
    指定用户帐号过期多长时间后就永久停用,与/etc/default/useradd文件中“INACTIVE”行对应。
     -e default_expire_date
    指定用户帐号的过期时间。与/etc/default/useradd文件中“EXPIRE”行对应。
    例子:
    useradd –D不加任何参数时,显示/etc/default/useradd文件的当前设置
    [root@localhost ~]# useradd -D  
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    如果要修改添加用户时的默认shell为/bin/csh,可以这么操作:
    [root@localhost ~]# useradd -D -s /bin/csh
    [root@localhost ~]# useradd -D
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/csh
    SKEL=/etc/skel

     

     

     

    展开全文
  • 7.1 useradd:创建用户

    2021-05-07 07:30:04
    7.1 useradd:创建用户 1 使用useradd 常规添加用户工作原理流程 在使用useradd命令时,若不加任何参数选项,后面直接跟所添加的用户名,那么系统首先会读取/etc/login.defs(用户定义文件)和/etc/default/useradd...

    7.1 useradd:创建用户

    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.defs.中的定义值。如果需要用户家目录必须额外指定-m参数来建立系统用户。这是Red Hat额外增设的选项
    -s shell          用户登入后使用的Shell名称。默认值为不填写,这样系统会帮助指定预设的登入Shell(根据/etc/default/useradd预设的值)
    -u uid            用户的ID值。这个值必须是唯一的,除非用-o选项。数字不可为负值

    3 useradd 加 -D 选项参数说明:改变新建用户的预设值

    当执行useradd带-D参数时,可以更改新建用户的默认配置值(/etc/default/useradd)或者由命令行编辑文件更改预设值。可简单理解该参数(-D)就是用于修改/etc/default/useradd配置文件的内容的,若这个文件的内容被修改,则添加新用户不加参数时默认值就会从该/etc/default/useradd中读取。
    useradd命令的-D参数选项说明。
    -b default_home            定义用户家目录的基本目录,当用户家目录不存在时,此目录将作为家目录生效
    -e default_expire_date     用户账号停止日期,格式为YYYY-MM-DD,同useradd的-e参教
    -f default_inactive        用户过期几日后停权。同useradd的-f参数
    -g defaul_group            新用户起始用户组名或ID。用户组名必须为现已存在的名称。用户组ID也必须为现已存在的用户组。同useradd的-g参数
    -s default_shell           用户登入后使用的Shell名称。修改后新加入的用户都将使用此Shell类型,同useradd -s参数

    不加任何参数添加用户的例子

    [root@cs6 ~]# useradd ett
    [root@cs6 ~]# ls -ld /home/ett/
    drwx------. 2 ett ett 4096 5月  12 01:15 /home/ett/
    
    ●提示:创定用户的同时还会创建一个与用户名相同的用户组。
    在这个例子中,我们添加了一个名为ett的系统用户,当查看/home/目录时,会发现系统自动建立了一个ett的目录,其就是用户登入后的起始目录,即家目录。
    下面再来查看/etc/passwd文件中有关新用户ett的记录:
    [root@cs6 ~]# grep -w ett /etc/passwd
    ett:x:500:500::/home/ett:/bin/bash
    从上文过滤出的ett用户记录来看,用户的UID和GID分别为500,并且ett的家目录为/home/ett,所对应的Shell是/bin/bash。
    [root@cs6 ~]# grep -w ett /etc/shadow
    ett:!!:18027:0:99999:7:::            #<==虽然没有创建密码,但是密码文件还是会增加一行相关信息。
    [root@cs6 ~]# grep -w ett /etc/group
    ett:x:500:                #<==创建用户时,默认会创建与用户同名的用户组,并体现在用户组配置文件中。
    [root@cs6 ~]# grep -w ett /etc/gshadow
    ett:!::                    #<==组密码文件中也会有一行相关记录。
    
        这里我们还可以查看/etc/default/useradd和/etc/login.defs两个文件的规则,看一下ett用户的增加是否符合这两个配置文件预设的值。最后还可以查看/home/ett目录下的文件,是否与/etc/skel目录中的一样。

    useradd的-g、-u参数,执行useradd[参数]username 添加用户

    [root@cs6 ~]# groupadd -g 801 sa 
    [root@cs6 ~]# useradd -g sa -u 901 lewen
    [root@cs6 ~]# id lewen
    uid=901(lewen) gid=801(sa) 组=801(sa)
    

    useradd的-M、-s参数的例子

    [root@cs6 ~]# useradd -M -s /sbin/nologin kevin
    [root@cs6 ~]# ls -ld /home/kevin
    ls: 无法访问/home/kevin: 没有那个文件或目录
    [root@cs6 ~]# grep -w kevin /etc/passwd
    kevin:x:902:902::/home/kevin:/sbin/nologin
    

    useradd的-c、-u、-G、-s、-d、-m、-e、-f等多个参数组合的综合例子。

    [root@cs6 ~]# useradd -u 806 -s /bin/sh -c SysUser -G root,sa -e "2019/07/12" -f 2 -d /tmp/inca inca
    [root@cs6 ~]# id inca
    uid=806(inca) gid=806(inca) groups=806(inca),0(root),801(sa)
    [root@cs6 ~]# tail -1 /etc/passwd
    inca:x:806:806:SysUser:/tmp/inca:/bin/sh
     
    /etc/passwd文件行中inca的用户信息说明
    inca   |x        |:806    |:1002    |:SysUser |:/tmp/inca|:/bin/sh
    账号名称|:账号密码|:账号UID|:账号组GID|:用户说明|:用户家目录|:shell解释器
     
    [root@cs6 ~]# chage -l inca
    Last password change                    : May 11, 2019
    Password expires                    : never
    Password inactive                    : never
    Account expires                        : Jul 12, 2019
    Minimum number of days between password change        : 0
    Maximum number of days between password change        : 99999
    Number of days of warning before password expires    : 7
    [root@cs6 ~]# tail -1 /etc/shadow
    inca:!!:18027:0:99999:7:2:18089:    #<==带底纹的数字2即用户过期停权的结果(一f参数)
    
    更改字符变量
    [root@cs6 ~]# cat /etc/sysconfig/i18n
    LANG="zh_CN.UTF-8"
    [root@cs6 ~]# sed -i 's/zh_CN/en_US/g' /etc/sysconfig/i18n
    [root@cs6 ~]# cat /etc/sysconfig/i18n
    LANG="en_US.UTF-8"
    [root@cs6 ~]# source /etc/sysconfig/i18n
    

    useradd -D参数的使用说明及案例实践

    [root@cs6 ~]# cat /etc/default/useradd
    # useradd defaults file
    GROUP=100              #<==依赖于/etc/login.defs 的 USERGROUPS_ENAB参数,如果为no,则此处控制。
    HOME=/home             #<==把用户的家目录建在/home中。
    INACTIVE=-1            #<==是否启用用户过期停权,-1表示不启用。
    EXPIRE=                #<==用户终止日期,不设置表示不启用。
    SHELL=/bin/bash        #<==新用户默认所用的Shel1类型。
    SKEL=/etc/skel         #<==配置新用户家目录的默认文件存放路径。前文提到的/etc/skel,就是在这里配置生效的,即当我们用useradd添加用户时,用户家目录下的文件,都是从这里配置的目录中复制过去的。
    CREATE_MAIL_SPOOL=yes  #<==创建mail文件。
     
     
    [root@cs6 ~]# egrep -v '^$|#' /etc/login.defs
    MAIL_DIR    /var/spool/mail
    PASS_MAX_DAYS    99999
    PASS_MIN_DAYS    0
    PASS_MIN_LEN    5
    PASS_WARN_AGE    7
    UID_MIN              500
    UID_MAX            60000
    GID_MIN              500
    GID_MAX            60000
    CREATE_HOME    yes
    UMASK           077
    USERGROUPS_ENAB yes
    ENCRYPT_METHOD SHA512
    
    修改实践:
     
    [root@cs6 ~]# cp /etc/default/useradd{,.bark}
    [root@cs6 ~]# useradd -D -s /bin/sh
    [root@cs6 ~]# diff /etc/default/useradd{,.bark}
    6c6
    < SHELL=/bin/sh
    ---
    > SHELL=/bin/bash
    [root@cs6 ~]# useradd -D -e "2019/7/12"
    [root@cs6 ~]# diff /etc/default/useradd{,.bark}
    5,6c5,6
    < EXPIRE=2019/7/12
    < SHELL=/bin/sh
    ---
    > EXPIRE=
    > SHELL=/bin/bash
    [root@cs6 ~]#
    [root@cs6 ~]# useradd zuma
    [root@cs6 ~]# tail -1 /etc/passwd
    zuma:x:903:903::/home/zuma:/bin/sh
    [root@cs6 ~]# chage -l zuma
    Last password change                    : May 11, 2019
    Password expires                    : never
    Password inactive                    : never
    Account expires                        : Jul 12, 2019
    Minimum number of days between password change        : 0
    Maximum number of days between password change        : 99999
    Number of days of warning before password expires    : 7
     
     
    [root@cs6 ~]# \cp /etc/default/useradd{.bark,}     #<==练习完后还原系统默认的配置文件。
    useradd -D的功能完全可以使用vim /etc/default/useradd编辑修改后来替代
     
    展开全文
  • Linux命令之useradd命令

    2021-11-20 07:11:47
    useradd命令用于建立用户帐号。如果在没有-D选项的情况下调用,useradd命令将使用命令行上指定的值加上系统中的默认值创建一个新的用户帐户。根据命令行选项,useradd命令将更新系统文件,还可能创建新用户的主目录...

    一、命令简介

      useradd命令用于建立用户帐号。如果在没有-D选项的情况下调用,useradd命令将使用命令行上指定的值加上系统中的默认值创建一个新的用户帐户。根据命令行选项,useradd命令将更新系统文件,还可能创建新用户的主目录并复制初始文件。默认情况下,还将为新用户创建一个组。adduser命令作用与useradd命令一样,adduser命令实际为useradd命令的软连接。不同的linux系统默认选项不一样,比如Ubuntu系统useradd命令默认只创建用户,不会创建家目录。以下命令示例环境为centos7.6。

    二、使用示例

    1、获取命令帮助

    [root@s141 ~]# useradd --help

    2、添加一个普通用户

    [root@s141 ~]# useradd test
    #如下可见自动创建了家目录
    [root@s141 ~]# ll /home/test/
    #自动创建了test组
    [root@s141 ~]# cat /etc/group |grep test
    test❌1003:

    3、为添加的用户指定相应的用户组

    [root@s141 ~]# useradd -g test test1
    #可以看到test1用户加入了组test
    [root@s141 ~]# cat /etc/passwd |grep 1003
    test❌1003:1003::/home/test:/bin/bash
    test1❌1004:1003::/home/test1:/bin/bash

    4、创建一个系统用户

    [root@s141 ~]# useradd -r test2
    #系统用户的ID小于1000
    [root@s141 ~]# cat /etc/passwd |grep test2
    test2❌996:994::/home/test2:/bin/bash
    #系统用户一步给程序使用,不需要登录所以没有创建家目录
    [root@s141 ~]# ll /home/test2
    ls: cannot access /home/test2: No such file or directory

    5、创建用户时指定家目录

    [root@s141 ~]# useradd -d /home/abc test3
    [root@s141 ~]# cat /etc/passwd |grep test3
    test3❌1005:1005::/home/abc:/bin/bash

    6、创建用户时指定shell环境,默认bash

    [root@s141 ~]# useradd -s /bin/sh test4
    #shell环境变成了/bin/sh
    [root@s141 ~]# cat /etc/passwd |grep test4
    test4❌1006:1006::/home/test4:/bin/sh

    7、创建用户时不要创建家目录

    [root@s141 ~]# useradd -M test5
    [root@s141 ~]# ll /home/test5
    ls: cannot access /home/test5: No such file or directory

    8、查看创建用户时的默认值

    [root@s141 ~]# useradd -D
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes

    9、添加用户并设置密码

    [root@s141 ~]# useradd -p ‘ 6 6 6x5zxHGgD$oBuQSK/oCfwXFTG6u7HN1U4/yKN2hqErHbv/eNetBQ00BrGkv9JnUMbu90NjC0ccPdy78eZnyZ8xUanLQFWHP1’ test6
    #-p 参数后面接密文,可以通过/etc/shadow文件中复制一个已知密码的密文,-p参数一般用户脚本中,可以隐藏密码,更加安全。

    三、使用语法及参数说明

    1、使用语法

    用法1:useradd -D #查看创建用户的默认值
    用法2:useradd [选项] 用户名 #根据选项创建用户

    2、参数说明

    参数参数说明
    -b,–base-dirBASE_DIR新帐户主目录的基本目录
    -c,–commentCOMMENT新帐户的GECOS字段
    -d,–home-dirHOME_DIR新帐户的主目录
    -D,–defaults打印或更改默认用户添加配置
    -e,–expiredateEXPIRE_DATE新帐户的到期日期
    -f,–inactiveINACTIVE新帐户的密码不活动期
    -g,–gidGROUP新帐户的主组的名称或ID
    -G,–groupsGROUPS新帐户的补充组列表
    -h,–help显示此帮助消息并退出
    -k,–skelSKEL_DIR使用这个替代的框架目录
    -K,–keyKEY=VALUE覆盖/etc/login.defs默认值
    -l,–no-log-init不要将用户添加到lastlog和faillog数据库
    -m,–create-home创建用户的主目录
    -M,–no-create-home不要创建用户的主目录
    -N,–no-user-group不要创建与用户同名的组
    -o,–non-unique允许创建具有重复(非唯一)UID的用户
    -p,–password PASSWORD新帐户的加密密码
    -r,–system创建一个系统帐户
    -R,–root CHROOT_DIR要导入的目录
    -s,–shell SHELL新帐户的登录shell
    -u,–uidUID新帐户的用户ID
    -U,–user-group创建与用户同名的组
    -Z,–selinux-user SEUSER为SELinux用户映射使用特定的SEUSER
    展开全文
  • Linux useradd userdel命令

    2020-03-31 22:28:02
    Linux 系统中,可以使用useradd 命令新建用户,此命令的基本格式如下: [root@localhost ~]#useradd [选项] 用户名 该命令常用的选项及各自的含义,如表 1 所示。 表 1 useradd命令常用选项 选项 含义 -u ...
  • --excludedocs 不安装软件包中的文档文件 --includedocs 安装文档 --replacepkgs 强制重新安装已经安装的软件包 ...--replacefiles 替换属于其它软件包的文件--force 忽略软件包及文件的冲突 ...
  • Linux useradd 命令详解

    千次阅读 2020-09-04 14:41:12
    useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。 2.格式 useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name ...
  • 添加用户的命令是useradd,命令格式如下: [root@localhost ~]# useradd [选项] 用户名 选项 说明 -u UID 指定该用户的UID,注意手工添加的用户的UID不要小于500 -d 家目录 指定用户的家目录(默认为/...
  • Linux命令 useradd命令

    2020-07-14 11:21:32
    Linux命令 useradd命令 useradd命令 功能说明:添加用户或更新默认的新用户信息 用法:useradd [options] login_name 选项 说明 -u,--uid UID 添加一个新的用户时,手动指定UID号,默认是上一个用户的...
  • useradd命令详解

    2020-05-06 18:29:23
    useradd是Linux添加新用户的命令,这个命令提供了一次性创建新用户账户及设置用户HOME目录结构的简便方法。 1、useradd命令加参数-D参看系统的默认值: # useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= ...
  • linux命令useradd添加用户详解 1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。 2.格式 linux命令useradd添加用户详解 1.作用 useradd或adduser命令用来建立用户帐号和创建...
  • useradd命令详解(转)

    2021-01-09 20:21:29
    useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。  2.格式  useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name ...
  • Useradd和adduser 这两个命令还是挺有意思的。 他们在不同系统下的区别是不同的。 在centos系统下,useradd与adduser是没有区别的,都是在创建用户,在home下自动创建目录,没有设置密码,需要使用passwd命令修改...
  • Linux useradd 命令

    千次阅读 2016-01-07 16:57:05
     当执行命令并且没用使用-D 选项时, 命令 useradd 创建一个新的用户账号,对应的值【比如:uid gid】都将来自系统【在原有的基础上 +1】  根据命令行选项,useradd 命令将更新系统文件并且可能创建新的用户家...
  • Linux命令useradd

    2020-07-13 10:03:40
    useradd [-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>][-u <uid>][用户帐号][-m][-M][-r] 参数解释: -m 自动...
  • useradd命令

    2019-03-11 20:18:26
    useradd命令 --- useradd [选项] 用户名验证:grep 用户名 /etc/passwd选项 功能 例子-h 即--help,显示此命令的帮助信息 useradd -h -b 为新用户指定家目录的主目录 useradd -D -b /home -D 显示或修改创建新用户的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 211,948
精华内容 84,779
关键字:

useradd