如何使用useradd命令在Linux中创建用户

linux

Linux是一个多用户系统,这意味着不止一个人可以同时在同一系统进行交互。作为系统管理员,您有责任创建和删除用户来管理系统的用户和组,并将其分配给不同的组。

在Linux中,您可以使用useradd命令创建用户帐户并将用户分配到不同的组。useradd是一个非常实用的命令,Debian和Ubuntu用户可以使用更友好的adduser命令。本教程介绍了useradd命令及其选项。

本教程介绍了useradd命令及其选项。这其中包括如何在Linux中创建新用户,创建新用户并创建家目录,更改默认的创建用户所使用的配置,创建系统用户,指定到期日期创建用户,使用自定义注释创建用户,指定登录Shell创建用户,创建用户并分配多个组,指定组ID创建用户,指定用户ID创建用户,指定家目录创建用户。

useradd命令适用于任何Linux发行版,包括Ubuntu,CentOS,RHEL,Debian,Fedora和Arch Linux。

前提条件

为了能够使用useradd命令创建新用户,您需要以root用户或具有sudo访问权限的用户身份登录。

  • linux创建sudo用户
  • 在CentOS上创建sudo用户

useradd命令

在讨论如何使用useradd命令之前,让我们先回顾一下基本语法。useradd命令表达式采用以下形式:

useradd [OPTIONS] USERNAME

调用useradd命令时,将会使用命令行中指定的选项以及/etc/default/useradd文件中指定的默认值创建新用户帐户。

此文件中定义的变量会根据不同的Linux发行版可能会有差别。如果在没有任何选项的情况下使用useradd命令,则可能会在不同的Linux发行版上生成不同的结果。

useradd命令还读取/etc/login.defs文件的内容。此文件包含影子密码的配置,例如密码过期策略,创建系统用户和常规用户时使用的用户ID范围等。

如何在Linux中创建新用户

使用useradd创建名为username的新用户帐户,您将运行的命令:

useradd username

在没有任何选项的情况下使用最简单的形式时,useradd将使用/etc/default/useradd文件中指定的默认设置创建一个新的用户帐户。

useradd命令会在/etc/passwd/etc/shadow,/etc/group/etc/gshadow文件加入刚创建用户配置信息。

如想要能够以新创建的用户身份登录,您需要设置用户密码。为此,请运行passwd命令后跟用户名username:

passwd username

系统将提示您输入并确认密码。确保使用强密码。

Changing password for user username.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

注意:密码是不可见的,完成输入后,你只需要回车即可

创建新用户并创建家目录

在大多数Linux发行版中,使用useradd命令创建新用户帐户时,不会创建用户主目录。使用-m--create-home)选项创建用户家目录/home/username

useradd -m username

上面的命令创建新用户的家目录,并将文件从/etc/skel目录复制到用户的家目录。如果您使用ls列出/home/username目录的文件,你会看到初始化的用户文件:

ls -la /home/username/
drwxr-xr-x 2 username username 4096 Dec 11 11:23 .

drwxr-xr-x 4 root root 4096 Dec 11 11:23 ..

-rw-r--r-- 1 username username 220 Apr 4 2018 .bash_logout

-rw-r--r-- 1 username username 3771 Apr 4 2018 .bashrc

-rw-r--r-- 1 username username 807 Apr 4 2018 .profile

在家目录中,用户可以编写,编辑和删除文件和目录。

指定家目录创建用户

如果要在其他位置创建用户的家目录,默认是/home目录,使用d--home)选项改变这个默认值。

例如,要创建一个以/opt/username目录为家目录的新用户,您需要运行以下命令:

useradd -m -d /opt/username username

指定用户ID创建用户

在类Unix操作系统中,用户由唯一的UID和用户名组成。用户标识符(UID)是Linux系统为每个用户分配的唯一正整数。UID以及其他访问控制策略用于确定用户可以对系统资源执行的操作类型。

默认情况下,在创建新用户时,系统会从login.defs文件中的用户ID范围指定分配下一个可用的UID 。使用-u--uid)选项创建具有特定UID的用户。例如,要创建一个名为usernameUID为1500的新用户,请输入:

useradd -u 1500 username

您可以使用id命令验证用户的UID :

id -u username
1500

指定组ID创建用户

Linux组是组织单位,用于在Linux中组织和管理用户帐户。组的主要目的是定义一组权限,例如读取,写入或执行可以在组内用户之间共享的指定资源的权限。

创建新用户时,useradd命令的默认行为是创建一个与用户名同名的组,以及与UID相同的GID。

使用-g--gid)选项可以指定初始登录组的用户。您可以指定组名称或GID。组名称或GID必须已存在。例如,要创建一个名为username的新用户并将登录组设置为users

useradd -g users username

要验证用户的GID,请使用id命令:

id -gn username
users

创建用户并分配多个组

Linux操作系统中有两种类型的组主要组和辅助组或补充组。每个用户可以属于一个主要组和零个或多个次要组。

-G--groups)选项允许你指定的补充组,用户将成为该组的成员。

下面的命令将创建一个名为username与主组users和辅助组wheeldocker的新用户。

sudo useradd -g users -G wheel,developers username

您可以键入id命令来检查刚创建的用户信息:

id username
uid=1002(username) gid=100(users) groups=100(users),10(wheel),993(docker)

指定登录Shell创建用户

默认情况下,新用户的登录shell在/etc/default/useradd文件中指定的登录shell 。在某些Linux发行版(如Ubuntu 18.04)中,默认shell设置为/bin/sh而在其他版本中则设置为/bin/bash

-s--shell)选项允许你指定新用户的登录shell。例如,要创建一个名为username, 登录shell是/usr/bin/zsh 的新用户:

useradd -s /usr/bin/zsh username

检查/etc/passwd文件中的用户条目以验证用户的登录shell:

grep username /etc/passwd
username:x :1001:1001::/home/username:/usr/bin/zsh

使用自定义注释创建用户

-c--comment)选项允许你为新用户添加一个简短的说明。通常时用户的全名或联系信息作为注释。在以下示例中,我们将创建一个username的新用户并使用Test User Account作为注释:

useradd -c "Test User Account" username

注释保存在/etc/passwd文件中:

grep username /etc/passwd
username:x :1001:1001:Test User Account:/home/username:/bin/sh

注释字段也称为GECOS。

指定到期日期创建用户

-e--expiredate)选项允许你定义一个时间,新的用户帐户到期时间。此选项对于创建临时帐户很有用。必须使用YYYY-MM-DD格式指定日期。例如,创建一个名为 username到期时间设置为2019年10月22日的新用户帐户,您将运行:

useradd -e 2019-10-22 username

您可以使用chage命令验证用户帐户的到期日期:

sudo chage -l username

输出看起来像这样:

Last password change					: Dec 11, 2018

Password expires : never

Password inactive : never

Account expires : Jan 22, 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

创建系统用户

系统与常规(普通)用户之间没有真正的差异。通常,在安装操作系统和新软件包时会创建系统用户。在某些情况下,您可能需要创建一些将由某些应用程序使用的系统用户。

使用-r--system)选项创建系统用户帐户。例如,创建一个名为username的新系统用户,您将运行:

useradd -r username

系统用户创建时没有到期日期。它们的UID是从login.defs文件中指定的系统用户ID范围中选择的,该范围不同于普通用户使用的范围。

更改默认的创建用户所使用的配置

可以使用-D--defaults选项或手动编辑/etc/default/useradd文件中的值来查看和更改默认的useradd选项。要查看当前的默认选项类型:

useradd -D

输出看起来像这样:

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/sh

SKEL=/etc/skel

CREATE_MAIL_SPOOL=no

假设您要将默认登录shell从/bin/sh更改为/bin/bash。请指定新的登陆shell,如下所示:

useradd -D -s /bin/bash

您可以通过运行以下命令来验证是否更改了默认登录shell的值:

sudo useradd -D | grep -i shell
SHELL=/bin/bash

在本教程中,您学习了如何使用useradd命令添加新用户帐户。useradd命令适用于任何Linux发行版,包括Ubuntu,CentOS,RHEL,Debian,Fedora和Arch Linux。如果您有任何疑问,请随时发表评论。

以上是 如何使用useradd命令在Linux中创建用户 的全部内容, 来源链接: utcz.com/z/506956.html

回到顶部