在 Linux 中,一个
useradd
命令是一个基础实用程序,用于添加 / 创建用户帐户Linux
和别的Unix-like
操作系统。这adduser
非常类似于useradd
命令,因为它只是一个符号链接。
useradd 命令示例
在其他一些 Linux 发行版中,
useradd
命令可能带有稍微不同的版本。我建议你在使用我们的说明创建新用户帐户之前阅读您的文档Linux
.当我们运行
useradd
命令在 Linux 终端中执行以下主要操作:
/etc/passwd
,/etc/shadow
,/etc/group
和/etc/gshadow
新创建的用户帐户的文件。的基本语法
useradd
命令是:
# useradd [options] username
要添加 / 创建新用户,您必须遵循命令
useradd
要么adduser
和username
。这username
是用户登录名,用于用户登录系统。只能添加一个用户,并且该用户名必须是唯一的(不同于系统中已存在的其他用户名)。
例如,添加一个名为
rumenz
的新用户,使用以下命令。
[root@rumenz ~]# useradd rumenz
当我们在 Linux 中添加一个新用户时
useradd
命令它在锁定状态下创建并解锁该用户帐户,我们需要为该帐户设置密码passwd
命令。
[root@rumenz ~]# passwd rumenz
Changing password for user rumenz.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
在 Linux 中创建用户
创建新用户后,其条目将自动添加到
/etc/passwd
文件。该文件用于存储用户的信息。
rumenz:x:1000:1000:rumenz:/home/rumenz:/bin/bash
在 Linux 中查看用户信息
上面的条目包含一组七个以冒号分隔的字段,每个字段都有自己的含义。让我们看看这些字段是什么:
Username
:用于登录系统的用户登录名。它的长度应该在 1 到 32 个字符之间。Password
: 用户密码(或 x 字符)存储在/etc/shadow
加密格式的文件。User ID (UID)
: 每个用户必须有一个用户ID
(UID
) 用户识别号。默认情况下,UID 0
为 root 用户和 UID 保留,范围从1-99
保留用于其他预定义帐户。进一步的 UID 范围从100-999
为系统帐户和组保留。Group ID (GID)
: 主要组 ID (GID
) 组标识号存储在/etc/group
文件。User Info
:此字段是可选的,允许您定义有关用户的额外信息。例如,用户全名。该字段由 “finger” 命令填充。Home Directory
: 用户家目录的绝对位置。Shell
:用户shell
的绝对位置即/bin/bash
.默认情况下
useradd
命令在下面创建用户的家目录/home
带有用户名的目录。因此,例如,我们已经在上面看到了用户的默认家目录rumenz
是/home/rumenz
。但是,此操作可以通过使用
-d
选项以及新家目录的位置(即/data/projects
)。例如,以下命令将创建一个用户rumenz
带有家目录/data/projects
。
[root@rumenz ~]# useradd -d /data/projects rumenz
[root@rumenz ~]# passwd rumenz
您可以查看用户家目录和[其他与用户相关的信息]( "检查 Linux 用户信息")例如用户 ID、组 ID、shell 和注释。
[root@rumenz ~]# cat /etc/passwd | grep rumenz
rumenz:x:1001:1001::/data/projects:/bin/bash
在 Linux 中使用家目录创建用户
在 Linux 中,每个用户都有自己的
UID
(Unique Identification Number
)。默认情况下,每当我们在Linux
, 它分配用户 ID500
,501
,502,
等等…但是,我们可以使用自定义用户 ID 创建用户
-u
选项。例如,以下命令将创建一个用户navin
使用自定义用户 ID1002
。
[root@rumenz ~]# useradd -u 1002 navin
现在,让我们验证创建的用户是否使用定义的用户 ID (
1002
) 使用以下命令。
[root@rumenz ~]# cat /etc/passwd | grep navin
navin:x:1002:1002::/home/navin:/bin/bash
在 Linux 中使用用户 ID 创建用户
NOTE
:确保用户 ID 的值必须与系统上任何其他已创建的用户不同。
同样,每个用户都有自己的
GID
(Group Identifier
)。我们也可以创建具有特定组 ID 的用户-g
选项。在这个例子中,我们将添加一个用户
rumenz
带有特定的UID
和GID
同时在'的帮助下-u
和-g
选项。
[root@rumenz ~]# useradd -u 1005 -g rumenz rumenz
现在,在 ' 中查看分配的用户 ID 和组 ID
/etc/passwd
文件。
[root@rumenz ~]# cat /etc/passwd | grep rumenz
rumenz:x:1005:1000::/home/rumenz:/bin/bash
要验证用户的 GID,请使用 id 命令:
[root@rumenz ~]# id -gn rumenz
在 Linux 中使用组 ID 创建用户
这
-G
选项用于将用户添加到其他组。每个组名用逗号分隔,中间没有空格。在这个例子中,我们添加了一个用户
rumenz
分成多个组,如admins
,webadmin,
和developer
.
[root@rumenz:~]# groupadd admins
[root@rumenz:~]# groupadd webadmin
[root@rumenz:~]# groupadd developers
[root@rumenz:~]# usermod -a -G admins,webadmin,developers rumenz
[root@rumenz:~]# useradd -G admins,webadmin,developers paddy
接下来,使用 id 命令验证是否将多个组分配给了用户。
[root@rumenz ~]# id rumenz
uid=1000(rumenz) gid=1000(rumenz)
groups=1000(rumenz),1007(admins),1008(webadmin),1009(developers)
context=root:system_r:unconfined_t:SystemLow-SystemHigh
在 Linux 中将用户添加到组
[ You might also like: [How to Add or Remove a User from a Group in Linux]( "How to Add or Remove a User from a Group in Linux") ]
在某些情况下,由于某些安全原因,我们不想为用户分配家目录。在这种情况下,当用户登录刚刚重新启动的系统时,其家目录将是 root。当此类用户使用[su 命令时]( "su 命令"),其登录目录将是前一个用户的家目录。
要创建没有家目录的用户,
-M
用来。例如,以下命令将创建一个用户shilpi
没有家目录。
[root@rumenz ~]# useradd -M shilpi
现在,让我们使用[ls 命令]( "Linux ls 命令示例")验证创建的用户是否没有家目录。
[root@rumenz ~]# ls -l /home/shilpi
ls: cannot access /home/shilpi: No such file or directory
在 Linux 中创建没有家目录的用户
默认情况下,当我们使用 ' 添加用户时
useradd
命令用户帐户永不过期,即它们的过期日期设置为0
(意味着永不过期)。但是,我们可以使用
-e
选项,将日期设置在YYYY-MM-DD
格式。这有助于创建特定时间段的临时帐户。在这个例子中,我们创建了一个用户
aparna
与帐户到期日即27th August 2021
在YYYY-MM-DD
格式。
[root@rumenz ~]# useradd -e 2021-08-27 aparna
接下来,使用'验证帐户和密码的年龄
chage
用户命令aparna
设置帐户到期日期后。
[root@rumenz ~]# 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
创建具有帐户到期日期的用户
这
-f
参数用于定义密码过期后的天数。一个值0
密码过期后立即停用用户帐户。默认情况下,密码过期值设置为-1
意味着永不过期。在此示例中,我们将设置帐户密码到期日期,即
45 days
在用户mansi
使用-e
和-f
选项。
[root@rumenz ~]# useradd -e 2021-08-14 -f 45 mansi
创建具有密码到期日期的用户
这
-c
选项允许您添加自定义注释,例如用户的full name
,phone number
等/etc/passwd
文件。注释可以单行添加,没有任何空格。例如,以下命令将添加一个用户
mansi
并插入该用户的全名,Manis Khurana
, 进入评论区。
[root@rumenz ~]# useradd -c "Manis Khurana" mansi
您可以在
/etc/passwd
文件在评论部分。
[root@rumenz ~]# tail -1 /etc/passwd
mansi:x:1010:1013:Manis Khurana:/home/mansi:/bin/sh
创建全名用户
有时,我们添加与登录
shell
无关的用户,有时我们需要为用户分配不同的 shell。我们为每个用户分配不同的登录 shell-s
选项。在这个例子中,将添加一个用户
rumenz
没有登录 shell,即/sbin/nologin
壳。
[root@rumenz ~]# useradd -s /sbin/nologin rumenz
您可以在
/etc/passwd
文件。
[root@rumenz ~]# tail -1 /etc/passwd
rumenz:x:1011:1014::/home/rumenz:/sbin/nologin
使用登录
shell
创建用户
shell
和自定义注释的用户以下命令将创建一个用户
rumenz
带有家目录/var/www/rumenz
, 默认shell``/bin/bash
并添加有关用户的额外信息。
[root@rumenz ~]# useradd -m -d /var/www/rumenz -s /bin/bash -c "rumenz Owner" -U rumenz
使用家目录和登录
shell
创建用户在上面的命令中
-m -d
选项创建一个具有指定家目录的用户,-s
选项设置用户的默认shell
,即/bin/bash
.这-c
选项添加有关用户的额外信息和-U
参数创建 / 添加一个与用户同名的组。
shell
、自定义注释和 UID/GID 的用户该命令与上面的非常相似,但这里我们将
shell
定义为/bin/zsh
和自定义UID
和GID
给用户rumenz
。在哪里-u
定义新用户的UID
(IE100
) 而而-g
定义GID
(IE1000
)。
[root@rumenz ~]# useradd -m -d /var/www/rumenz -s /bin/zsh -c "rumenz Technical Writer" -u 1000 -g 100 rumenz
使用 UID 和 GID 创建用户
shell
、自定义注释和用户 ID 的用户下面的命令与上面的两个命令非常相似,唯一的区别在这里,我们禁用了一个名为 ' 的用户的登录 shell
avishek
有一个习惯User ID
(IE1019
)。这里
-s
选项添加默认shell``/bin/bash
,但在这种情况下,我们将登录设置为/usr/sbin/nologin
。这意味着用户rumenz
将无法登录系统。
[root@rumenz ~]# useradd -m -d /var/www/rumenz -s /usr/sbin/nologin -c "rumenz 入门小站" -u 1019 rumenz
使用 UID 和 Nologin 创建用户
此命令的唯一变化是,我们使用了
-k
设置包含初始框架文件目录的选项,即/etc/
, 不是默认的/etc/skel
.我们还使用了-s
选项定义不同的shell
即/bin/tcsh
给用户rumenz
。
[root@rumenz ~]# useradd -m -d /var/www/rumenz -k /etc/ -s /bin/tcsh -c "No Active Member of rumenz" -u 1027 rumenz
使用
shell
和 UID 创建用户
以下命令与上面解释的其他命令非常不同。这里我们使用了
-M
创建一个没有用户家目录和' 的用户的选项-N
参数用于告诉系统只创建一个用户名(没有组)。这-r
参数用于创建系统用户。
[root@rumenz ~]# useradd -M -N -r -s /bin/false -c "rumenz Member" rumenz
使用 NoLogin 和组创建用户
有关 useradd 的更多信息和选项,请运行
useradd
终端上的命令以查看可用选项。
# useradd