我们都知道称为'用户添加' 或者 '添加用户' 在 Linux 中。有时,Linux 系统管理员会被要求在 Linux 上创建具有特定属性、限制或注释的用户帐户。
在, 这 '用户添加' 命令是一个低级实用程序,用于在 Linux 和其他类 Unix 操作系统中添加或创建用户帐户。这 '添加用户' 命令与 ' 非常相似用户添加' 命令,因为它只是一个符号链接。
在, 这 '用户添加' 命令的版本可能略有不同。我建议您在使用我们的说明在 Linux 中创建新用户帐户之前阅读您的文档。
当我们运行 '用户添加' 命令在 Linux 终端中执行,它执行以下主要任务:
- 它编辑/etc/密码,/etc/影子,/etc/组,和/etc/gshadow新创建的用户帐户的文件。
- 为新用户创建并填充主目录。
- 设置主目录的权限和所有权。
用户添加命令语法
' 的基本语法用户添加'命令是:
useradd [options] username
在本文中,我们将演示 15 个最常用的 '用户添加' 命令以及 Linux 中的实际示例。
要添加或创建新用户,您必须使用 '用户添加' 或者 '添加用户' 命令后跟 '用户名'。这 '用户名' 是用户用于登录系统的登录名。
只能添加一个用户,并且用户名必须是唯一的,并且系统上不存在该用户名。
例如,添加一个名为 '技术人员' 使用以下命令:
useradd tecmint
当我们在 Linux 中使用 ' 添加新用户时用户添加' 命令,它会在锁定状态下创建。要解锁该用户帐户,我们需要使用“密码' 命令。
passwd tecmint Changing password for user tecmint. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.

创建新用户后,其条目会自动添加到“/etc/密码' 文件。这个文件是用来存放用户的信息的,条目应该是。
tecmint:x:1000:1000:tecmint:/home/tecmint:/bin/bash

上面的条目包含一组七个以冒号分隔的字段,每个字段都有自己的含义。
让我们看看这些字段是什么:
- 用户名– 用户登录名用于登录系统。它的长度应介于 1 到 32 个字符之间。
- 密码– 用户密码(或
'x'字符)存储在 '/etc/影子' 加密格式的文件。 - 用户 ID(UID)– 每个用户必须有一个用户 ID (用户识别码),它代表用户识别号。默认情况下,唯一标识0为 root 用户保留,从 1 到 99 的 UID 为其他预定义帐户保留。此外,范围从 100 到 999 的 UID 是为系统帐户和组保留的。
- 组 ID (GID)– 主要组 ID (全局ID),它代表团体识别号,存储在 '/etc/组' 文件。
- 用户信息– 此字段是可选的,允许您定义有关用户的额外信息,例如用户的全名。可以使用以下方式填写此信息。
- 主目录– 用户主目录的绝对位置。
- 壳– 用户 shell 的绝对位置,即/bin/bash。
2. 如何创建具有不同主目录的用户
默认情况下,'用户添加' 命令在 ' 下创建用户的主目录/家' 带有用户名的目录。例如,如上所示,用户的默认主目录 '技术人员' 是 '/home/howtoing'。
然而,这种行为可以通过使用来改变'-d'选项以及新主目录的位置(例如,'/数据/项目')。例如,以下命令将创建一个用户'阿努沙' 主目录设置为 '/数据/项目'。
# useradd -d /data/projects anusha # passwd anusha
您可以查看用户的主目录并,例如用户 ID、组 ID、shell 和注释,使用以下内容。
cat /etc/passwd | grep anusha anusha:x:1001:1001::/data/projects:/bin/bash

3. 如何创建具有特定用户ID的用户
在Linux中,每个用户都有自己的UID(唯一标识号)。默认情况下,当我们在 Linux 中创建新用户帐户时,它会分配用户 ID500,501,502, 等等。
但是,我们可以使用自定义用户 ID 创建用户'-u'选项。例如,以下命令将创建一个用户 '纳文' 使用自定义用户 ID '1002'。
useradd -u 1002 navin
现在,让我们验证使用定义的用户 ID 创建的用户(1002)使用以下命令。
cat /etc/passwd | grep navin navin:x:1002:1002::/home/navin:/bin/bash

笔记:确保用户 ID 的值必须与系统上任何其他已创建的用户不同。
4. 如何创建具有特定组ID的用户
同样,每个用户都有自己的全局ID(组标识符)。我们也可以使用特定组 ID 创建用户'-g'选项。
在此示例中,我们将添加一个用户 '学员' 具有特定的用户识别码和全局ID同时在'-u'和'-g'选项。
useradd -u 1005 -g tecmint tarunika
现在,检查'中分配的用户ID和组ID/etc/密码' 文件。
cat /etc/passwd | grep tarunika tarunika:x:1005:1000::/home/tarunika:/bin/bash
要验证用户的 GID,请使用 id 命令:
id -gn tarunika

5. 如何将用户添加到多个组
这'-G'选项用于将用户添加到其他组。每个组名称都用逗号分隔,中间没有空格。
在此示例中,我们添加一个用户 '技术人员' 到多个组,例如管理员,网络管理员, 和开发商。
groupadd admins groupadd webadmin groupadd developers usermod -a -G admins,webadmin,developers tecmint useradd -G admins,webadmin,developers paddy
接下来,验证多个组是否已分配给用户ID命令。
id tecmint uid=1000(tecmint) gid=1000(tecmint) groups=1000(tecmint),1007(admins),1008(webadmin),1009(developers) context=root:system_r:unconfined_t:SystemLow-SystemHigh

6. 如何添加没有主目录的用户
在某些情况下,出于安全原因,我们不想为用户分配主目录,当用户登录到刚刚重新启动的系统时,他们的主目录将是root。当此类用户使用 '是' 命令,他们的登录目录将是前一个用户的主目录。
要创建没有主目录的用户,'-M'使用选项。例如,以下命令将创建一个用户 '希尔皮' 没有主目录。
useradd -M shilpi
现在,让我们使用以下命令验证用户是否是在没有主目录的情况下创建的:。
ls -l /home/shilpi ls: cannot access /home/shilpi: No such file or directory

7. 如何在 Linux 中创建具有到期日期的用户
默认情况下,当我们使用 ' 添加用户时用户添加' 命令,,这意味着它们的到期日期设置为0(这意味着永不过期)。
但是,我们可以使用以下命令设置到期日期'-e'选项,该选项应该位于年-月-日格式。这对于创建特定时间段的临时帐户很有帮助。
在此示例中,我们创建一个用户 '猴子们' 带有帐户到期日期,即2021 年 8 月 27 日,在年-月-日格式。
useradd -e 2021-08-27 aparna
接下来,使用 ' 验证帐户和密码老化信息改变'用户的命令'猴子们' 设置帐户到期日期后。
chage -l aparna Last password change : Jun 25, 2021 Password expires : never Password inactive : never Account expires : Aug 27, 2021 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

8. 如何创建具有密码到期日期的用户
这'-f'参数用于定义密码过期后的天数。值为0密码过期后立即停用用户帐户。默认情况下,密码过期值设置为-1,这意味着它永远不会过期。
在本例中,我们将设置一个账户密码的有效期,即45天,对于用户 '曼西' 使用'-e'和'-f'选项。
useradd -e 2014-04-27 -f 45 mansi

9. 如何在 Linux 中添加带注释的用户
这'-c'选项允许您添加自定义注释,例如用户的全名、电话号码等/etc/密码' 文件。注释可以作为单行添加,不带任何空格。
例如,以下命令将添加用户 '曼西'并插入该用户的全名,马尼斯·库拉纳,进入评论区。
useradd -c "Manis Khurana" mansi
您可以在“中查看插入的评论”/etc/密码' 文件在评论部分使用。
tail -1 /etc/passwd mansi:x:1010:1013:Manis Khurana:/home/mansi:/bin/sh

10. 如何在 Linux 中创建用户登录 Shell
有时,我们添加与登录 shell 无关的用户,或者有时我们需要分配。我们可以使用 ' 为每个用户分配不同的登录 shell-s' 选项。
在此示例中,将添加一个用户 '技术人员' 没有登录 shell 即 '/sbin/nologin' 壳。
useradd -s /sbin/nologin tecmint
您可以在 ' 中检查分配给用户的 shell/etc/密码' 文件。
tail -1 /etc/passwd tecmint:x:1011:1014::/home/tecmint:/sbin/nologin

11. 如何创建具有指定主页、Shell 和评论的用户
以下命令将创建一个用户 '拉维'带有主目录'/var/www/howtoing',默认 shell/bin/bash,以及有关用户的其他信息。
useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi

在上面的命令中,选项'-m'和'-d'创建一个具有指定主目录的用户,并且'-s'选项将用户的默认 shell 设置为/bin/bash。这'-c'选项添加有关用户和的额外信息'-U'参数创建/添加与用户同名的组。
12. 如何创建具有定义的主页、Shell、评论、UID/GID 的用户
该命令与上面的命令非常相似,但这里我们将 shell 定义为 '/bin/zsh'并设置自定义用户识别码和全局ID对于用户“tarunika”。这'-u'选项定义新用户的 UID(即100),以及'-g'选项定义 GID(即1000)。
useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 100 tarunika

13. 如何创建具有 Home、No Shell、Comment 和 UID 的用户
以下命令与上面两个命令非常相似。唯一的区别是,在这里,我们禁用了名为 ' 的用户的登录 shell阿维舍克' 使用自定义用户 ID(即1019)。
这'-s'选项将默认 shell 设置为/bin/bash,但在本例中,我们将登录 shell 设置为 '/在tre/其/trie/tries'。这意味着用户'阿维舍克' 将无法登录系统。
useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint Sr. Technical Writer" -u 1019 avishek

14. 如何创建具有指定 Home、Shell、Skeleton 和 UID 的用户
该命令唯一的变化是我们使用了'-k'将自定义骨架目录设置为的选项/etc/custom.skell而不是默认的,/etc/skel。我们还使用了'-s'定义不同外壳的选项,/bin/tcl.,对于用户'纳文'。
useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "No Active Member of TecMint" -u 1027 navin

15. 如何创建一个没有 Home、Shell 或 Group 的用户,并带有注释
以下命令与上面解释的其他命令有很大不同。在这里,我们使用了'-M'创建没有用户主目录的用户的选项,以及'-N'选项用于指示系统仅创建用户名(不创建组)。这'-r'选项用于创建系统用户。
useradd -M -N -r -s /bin/false -c "Disabled TecMint Member" clayton

有关 ' 的更多信息和选项用户添加',运行'用户添加' 在终端中输入命令查看可用选项
useradd
如果要修改用户帐户属性,例如修改用户名、用户 ID (UID)、主目录、shell 等,请使用。
