前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux中useradd命令15个实际示例

linux中useradd命令15个实际示例

作者头像
入门笔记
发布2022-06-02 15:21:14
1.8K0
发布2022-06-02 15:21:14
举报
文章被收录于专栏:入门小站入门小站

在 Linux 中,一个 useradd 命令是一个基础实用程序,用于添加 / 创建用户帐户Linux和别的Unix-like操作系统。这 adduser 非常类似于useradd命令,因为它只是一个符号链接。

useradd 命令示例

在其他一些 Linux 发行版中,useradd命令可能带有稍微不同的版本。我建议你在使用我们的说明创建新用户帐户之前阅读您的文档Linux.

当我们运行 useradd 命令在 Linux 终端中执行以下主要操作:

  • 它编辑/etc/passwd,/etc/shadow,/etc/group/etc/gshadow新创建的用户帐户的文件。
  • 为新用户创建并填充家目录。
  • 设置家目录的权限和所有权。
Useradd 命令语法

的基本语法useradd命令是:

代码语言:javascript
复制
# useradd [options] username

1. 如何在 Linux 中添加新用户

要添加 / 创建新用户,您必须遵循命令 useradd要么adduserusername。这 username 是用户登录名,用于用户登录系统。

只能添加一个用户,并且该用户名必须是唯一的(不同于系统中已存在的其他用户名)。

例如,添加一个名为 rumenz的新用户,使用以下命令。

代码语言:javascript
复制
[root@rumenz ~]# useradd rumenz

当我们在 Linux 中添加一个新用户时useradd命令它在锁定状态下创建并解锁该用户帐户,我们需要为该帐户设置密码passwd 命令。

代码语言:javascript
复制
[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 文件。该文件用于存储用户的信息。

代码语言:javascript
复制
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.

2. 创建不同家目录的用户

默认情况下 useradd 命令在下面创建用户的家目录/home带有用户名的目录。因此,例如,我们已经在上面看到了用户的默认家目录 rumenz/home/rumenz

但是,此操作可以通过使用 -d 选项以及新家目录的位置(即/data/projects)。例如,以下命令将创建一个用户 rumenz带有家目录/data/projects

代码语言:javascript
复制
[root@rumenz ~]# useradd -d /data/projects rumenz
[root@rumenz ~]# passwd rumenz

您可以查看用户家目录和[其他与用户相关的信息]( "检查 Linux 用户信息")例如用户 ID、组 ID、shell 和注释。

代码语言:javascript
复制
[root@rumenz ~]# cat /etc/passwd | grep rumenz

rumenz:x:1001:1001::/data/projects:/bin/bash

在 Linux 中使用家目录创建用户

3. 创建一个具有特定用户 ID 的用户

在 Linux 中,每个用户都有自己的UID(Unique Identification Number)。默认情况下,每当我们在Linux, 它分配用户 ID500,501,502,等等…

但是,我们可以使用自定义用户 ID 创建用户-u 选项。例如,以下命令将创建一个用户 navin使用自定义用户 ID1002

代码语言:javascript
复制
[root@rumenz ~]# useradd -u 1002 navin

现在,让我们验证创建的用户是否使用定义的用户 ID (1002) 使用以下命令。

代码语言:javascript
复制
[root@rumenz ~]# cat /etc/passwd | grep navin

navin:x:1002:1002::/home/navin:/bin/bash

在 Linux 中使用用户 ID 创建用户

NOTE:确保用户 ID 的值必须与系统上任何其他已创建的用户不同。

4. 创建一个具有特定组 ID 的用户

同样,每个用户都有自己的GID(Group Identifier)。我们也可以创建具有特定组 ID 的用户-g选项。

在这个例子中,我们将添加一个用户rumenz 带有特定的UIDGID同时在'的帮助下-u-g 选项。

代码语言:javascript
复制
[root@rumenz ~]# useradd -u 1005 -g rumenz rumenz

现在,在 ' 中查看分配的用户 ID 和组 ID/etc/passwd 文件。

代码语言:javascript
复制
[root@rumenz ~]# cat /etc/passwd | grep rumenz

rumenz:x:1005:1000::/home/rumenz:/bin/bash

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

代码语言:javascript
复制
[root@rumenz ~]# id -gn rumenz

在 Linux 中使用组 ID 创建用户

5. 将用户添加到多个组

-G 选项用于将用户添加到其他组。每个组名用逗号分隔,中间没有空格。

在这个例子中,我们添加了一个用户 rumenz 分成多个组,如admins,webadmin,developer.

代码语言:javascript
复制
[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 命令验证是否将多个组分配给了用户。

代码语言:javascript
复制
[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") ]

6. 添加没有家目录的用户

在某些情况下,由于某些安全原因,我们不想为用户分配家目录。在这种情况下,当用户登录刚刚重新启动的系统时,其家目录将是 root。当此类用户使用[su 命令时]( "su 命令"),其登录目录将是前一个用户的家目录。

要创建没有家目录的用户,-M 用来。例如,以下命令将创建一个用户 shilpi 没有家目录。

代码语言:javascript
复制
[root@rumenz ~]# useradd -M shilpi

现在,让我们使用[ls 命令]( "Linux ls 命令示例")验证创建的用户是否没有家目录。

代码语言:javascript
复制
[root@rumenz ~]# ls -l /home/shilpi

ls: cannot access /home/shilpi: No such file or directory

在 Linux 中创建没有家目录的用户

7. 创建一个有账户到期日的用户

默认情况下,当我们使用 ' 添加用户时useradd 命令用户帐户永不过期,即它们的过期日期设置为0(意味着永不过期)。

但是,我们可以使用 -e 选项,将日期设置在YYYY-MM-DD格式。这有助于创建特定时间段的临时帐户。

在这个例子中,我们创建了一个用户 aparna 与帐户到期日即27th August 2021YYYY-MM-DD格式。

代码语言:javascript
复制
[root@rumenz ~]# useradd -e 2021-08-27 aparna

接下来,使用'验证帐户和密码的年龄chage用户命令aparna 设置帐户到期日期后。

代码语言:javascript
复制
[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

创建具有帐户到期日期的用户

8. 创建一个密码过期的用户

-f 参数用于定义密码过期后的天数。一个值0密码过期后立即停用用户帐户。默认情况下,密码过期值设置为-1意味着永不过期。

在此示例中,我们将设置帐户密码到期日期,即45 days在用户 mansi使用-e-f 选项。

代码语言:javascript
复制
[root@rumenz ~]# useradd -e 2021-08-14 -f 45 mansi

创建具有密码到期日期的用户

9. 添加带有自定义评论的用户

-c 选项允许您添加自定义注释,例如用户的full name,phone number/etc/passwd文件。注释可以单行添加,没有任何空格。

例如,以下命令将添加一个用户 mansi 并插入该用户的全名,Manis Khurana, 进入评论区。

代码语言:javascript
复制
[root@rumenz ~]# useradd -c "Manis Khurana" mansi

您可以在 /etc/passwd 文件在评论部分。

代码语言:javascript
复制
[root@rumenz ~]# tail -1 /etc/passwd

mansi:x:1010:1013:Manis Khurana:/home/mansi:/bin/sh

创建全名用户

10. 在 Linux 中创建用户登录 Shell

有时,我们添加与登录shell无关的用户,有时我们需要为用户分配不同的 shell。我们为每个用户分配不同的登录 shell-s 选项。

在这个例子中,将添加一个用户rumenz没有登录 shell,即/sbin/nologin 壳。

代码语言:javascript
复制
[root@rumenz ~]# useradd -s /sbin/nologin rumenz

您可以在 /etc/passwd 文件。

代码语言:javascript
复制
[root@rumenz ~]# tail -1 /etc/passwd

rumenz:x:1011:1014::/home/rumenz:/sbin/nologin

使用登录shell创建用户

11. 添加具有特定家目录、默认shell和自定义注释的用户

以下命令将创建一个用户 rumenz带有家目录/var/www/rumenz, 默认shell``/bin/bash并添加有关用户的额外信息。

代码语言:javascript
复制
[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 参数创建 / 添加一个与用户同名的组。

12. 添加具有家目录、自定义shell、自定义注释和 UID/GID 的用户

该命令与上面的非常相似,但这里我们将shell定义为 /bin/zsh 和自定义UIDGID给用户rumenz。在哪里 -u 定义新用户的UID(IE100) 而而 -g 定义GID(IE1000)。

代码语言:javascript
复制
[root@rumenz ~]# useradd -m -d /var/www/rumenz -s /bin/zsh -c "rumenz Technical Writer" -u 1000 -g 100 rumenz

使用 UID 和 GID 创建用户

13. 添加具有家目录、无shell、自定义注释和用户 ID 的用户

下面的命令与上面的两个命令非常相似,唯一的区别在这里,我们禁用了一个名为 ' 的用户的登录 shellavishek 有一个习惯User ID(IE1019)。

这里 -s 选项添加默认shell``/bin/bash,但在这种情况下,我们将登录设置为 /usr/sbin/nologin。这意味着用户 rumenz 将无法登录系统。

代码语言:javascript
复制
[root@rumenz ~]# useradd -m -d /var/www/rumenz -s /usr/sbin/nologin -c "rumenz 入门小站" -u 1019 rumenz

使用 UID 和 Nologin 创建用户

14. 添加具有家目录、Shell、设置包含初始框架文件目录/ 注释和用户 ID 的用户

此命令的唯一变化是,我们使用了 -k 设置包含初始框架文件目录的选项,即/etc/, 不是默认的/etc/skel.我们还使用了 -s 选项定义不同的shell/bin/tcsh给用户rumenz

代码语言:javascript
复制
[root@rumenz ~]# useradd -m -d /var/www/rumenz -k /etc/ -s /bin/tcsh -c "No Active Member of rumenz" -u 1027 rumenz

使用shell和 UID 创建用户

15. 添加无家目录、无 Shell、无组和自定义注释的用户

以下命令与上面解释的其他命令非常不同。这里我们使用了 -M创建一个没有用户家目录和' 的用户的选项-N 参数用于告诉系统只创建一个用户名(没有组)。这 -r 参数用于创建系统用户。

代码语言:javascript
复制
[root@rumenz ~]# useradd -M -N -r -s /bin/false -c "rumenz Member" rumenz

使用 NoLogin 和组创建用户

有关 useradd 的更多信息和选项,请运行 useradd 终端上的命令以查看可用选项。

代码语言:javascript
复制
# useradd
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Useradd 命令语法
  • 1. 如何在 Linux 中添加新用户
  • 2. 创建不同家目录的用户
  • 3. 创建一个具有特定用户 ID 的用户
  • 4. 创建一个具有特定组 ID 的用户
  • 5. 将用户添加到多个组
  • 6. 添加没有家目录的用户
  • 7. 创建一个有账户到期日的用户
  • 8. 创建一个密码过期的用户
  • 9. 添加带有自定义评论的用户
  • 10. 在 Linux 中创建用户登录 Shell
  • 11. 添加具有特定家目录、默认shell和自定义注释的用户
  • 12. 添加具有家目录、自定义shell、自定义注释和 UID/GID 的用户
  • 13. 添加具有家目录、无shell、自定义注释和用户 ID 的用户
  • 14. 添加具有家目录、Shell、设置包含初始框架文件目录/ 注释和用户 ID 的用户
  • 15. 添加无家目录、无 Shell、无组和自定义注释的用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档