首页 > 其他分享 >useradd命令15个实际示例

useradd命令15个实际示例

时间:2022-08-14 19:45:12浏览次数:100  
标签:rumenz 15 示例 创建 用户 命令 useradd root

linux中useradd命令15个实际示例

原创 入门小站 入门小站 2022-07-16 23:09 发表于湖北 收录于合集#Linux入门指南231个

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

useradd 命令示例

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

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

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

Useradd 命令语法

的基本语法useradd命令是:

# useradd [options] username

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

要添加 / 创建新用户,您必须遵循命令 useradd要么adduserusername。这 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.

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

默认情况下 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 中使用家目录创建用户

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

在 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 的值必须与系统上任何其他已创建的用户不同。

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

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

在这个例子中,我们将添加一个用户rumenz 带有特定的UIDGID同时在'的帮助下-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 创建用户

5. 将用户添加到多个组

这 -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") ]

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

在某些情况下,由于某些安全原因,我们不想为用户分配家目录。在这种情况下,当用户登录刚刚重新启动的系统时,其家目录将是 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 中创建没有家目录的用户

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

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

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

在这个例子中,我们创建了一个用户 aparna 与帐户到期日即27th August 2021YYYY-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

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

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

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

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

[root@rumenz ~]# useradd -e 2021-08-14 -f 45 mansi

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

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

这 -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

创建全名用户

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

有时,我们添加与登录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创建用户

11. 添加具有特定家目录、默认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 参数创建 / 添加一个与用户同名的组。

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

该命令与上面的非常相似,但这里我们将shell定义为 /bin/zsh 和自定义UIDGID给用户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 创建用户

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

下面的命令与上面的两个命令非常相似,唯一的区别在这里,我们禁用了一个名为 ' 的用户的登录 shellavishek 有一个习惯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 创建用户

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

此命令的唯一变化是,我们使用了 -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 创建用户

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

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

[root@rumenz ~]# useradd -M -N -r -s /bin/false -c "rumenz Member" rumenz

使用 NoLogin 和组创建用户

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

# useradd

近期热文

linux中计算行数,字数,字符数的10个wc命令示例

linux中使用 head,tail和cat命令高效处理文件

linux中7个有趣的ls命令技巧

linux中grep命令的12个实际例子

linux中find命令的35个实际例子

linux中10个有用的du命令文目录,磁盘使用情况

linux中检查磁盘空间的12个有用的df命令

 

入门小站 全栈入门知识 169篇原创内容 公众号 收录于合集 #Linux入门指南  231个 下一篇linux中14个有趣的排序命令示例 阅读原文 阅读 1131

标签:rumenz,15,示例,创建,用户,命令,useradd,root
From: https://www.cnblogs.com/qiangfenger/p/16586134.html

相关文章

  • hdu7215 Weighted Beautiful Tree
    problem一个点的点权的可能为不变或者变为连着的边的边权。然后dp、dp[u][0]表示变成大于等于w[u]边的最小代价。dp[u][1]表示变成小于等于w[u]边的最小代价。然后对......
  • 面向对象(构造对象及tab切换示例)
    面向对象概述面向对象是一种编程思想(oop),他是将对应的过程替换成对应的对象,而不做去追求对应的过程实现,而通过去找对象的方式实现。综合思想:找有这个功能的对象,做这个事情......
  • P7154 [USACO20DEC] Sleeping Cows P(DP)
    主要是状态设计比较难想,但其实可以理性地推出来。P7154[USACO20DEC]SleepingCowsP考虑最终一个合法状态是怎么样的:一定是一堆小牛棚,一堆大奶牛,最大的牛棚小于最小的......
  • SP1557 GSS2 - Can you answer these queries II(离线 线段树)
    SP1557GSS2-CanyouanswerthesequeriesII\(\bigstar\texttt{Hint}\):遇到去重的问题,我们通常考虑离线询问后处理。可以枚举右端点,将询问存储在右端点,考虑用数据结......
  • [冲刺国赛2022] 模拟赛15
    子串题目描述定义\(cnt(s,t)\)表示\(t\)在\(s\)中的出现次数。对于字符串\(s\),定义一个子串\(t\)是重要的,当且仅当对于任意以\(t\)为子串的\(t'\),都满足\(c......
  • Python示例——负数的位运算
    平时在coding的时候虽然会遇到位运算但一般也都是正数的位运算,今天突然见到了使用负数的位运算,对此十分好奇和困惑,为此做了下了解,于是有了此文。 给出一些位运算的例子:......
  • day 15 面向对象
    面向对象概述面向对象是一种编程思想(oop),他是将对应的过程替换成对应的对象,而不做去追求对应的过程实现,而通过去找对象的方式实现。综合思想:找有这个功能的对象,做这个事情......
  • Vulfocus靶场 | elasticsearch 代码执行 (CVE-2015-1427)
    一、漏洞简介CVE-2014-3120后,ElasticSearch默认的动态脚本语言换成了Groovy,并增加了沙盒,但默认仍然支持直接执行动态语言。本漏洞:1.是一个沙盒绕过;2.是一个Goovy代码执......
  • react+rust+webAssembly(wasm)示例
    前言:WebAssembly(简称wasm)已经出来有几年了,在一些需要高性能的web应用场景中,wasm技术可以让代码执行效率大大提升。react做为目前大厂主流的前端框架之一,搭配上最近几年一......
  • 1066 图像过滤——15分
    图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。输入格......