如何在 Ubuntu 上添加和删除用户
已发表: 2023-05-22 系统管理员角色包括创建用户、删除用户和查看现有用户。 他们还控制谁可以和不能使用root
的提升权限。 以下是在 Ubuntu Linux 上执行此操作的方法。
关于在 Ubuntu 中管理用户的知识
如何在 Ubuntu 中创建用户
使用用户添加
使用添加用户
如何在 Ubuntu 中添加用户组
如何在 Ubuntu 中列出用户
如何在 Ubuntu 上将用户添加到 sudo
如何在 Ubuntu 上更改用户密码
如何在 Ubuntu 上删除用户
从摇篮到坟墓
关于在 Ubuntu 中管理用户的知识
多用户系统要求每个使用计算机的人都有一个不同的用户帐户。 每个用户都有自己的密码,以及自己的私人数据区域。 普通用户无法访问其他用户的数据。 当然, root
用户可以访问任何内容。
管理用户帐户的是根用户。 他们必须在新用户需要使用计算机时创建一个帐户,并在不再需要时删除旧帐户。
除了创建和删除之外,在帐户的生命周期内可能还需要进行其他更改。 用户可能会忘记他们的密码,并需要它来重置密码。 他们可能加入另一个部门或团队,需要添加到适当的用户组。 他们甚至可能会被提升并获得 root 特权。
这些常见任务落在系统管理团队身上。 如果您是值班管理员——或者团队中唯一的管理员——您应该快速轻松地完成这些任务。
以下是如何在 Ubuntu 上执行这些常见任务的总结。 因为它们使用标准工具,所以您也可以在其他发行版上使用它们,但我们将在屏幕截图中以 Ubuntu 为特色。
如何在 Ubuntu 中创建用户
有两种创建新用户的内置命令行方法。 它们的名称非常相似,一个是useradd
,另一个是adduser
。
useradd
命令需要在命令行上提供创建新帐户所需的所有信息。 adduser
命令采用不同的方法。 它会提示您输入创建新帐户所需的信息。
使用用户添加
要使用useradd
添加新用户,请使用此格式的命令。
sudo useradd -s /bin/bash -m -c "Mary Quinn" -Gdevelopment maryq
我们使用的选项和参数是:
- -s /bin/bash :这会为这个新用户设置默认的 shell。
- -m :这会在“/home/”目录中为新用户创建一个主目录。
- -c “Mary Quinn” :新用户的全名。 这是可选的,但很有用。
- -Gdevelopment :新用户被添加到一个与其帐户名同名的组中。
-G
选项允许我们将它们添加到另一个预先存在的组中。 这些组必须已经存在。 这个新用户将成为“开发”组的成员。 - maryq :新用户的登录名。 这必须是唯一的。
这创建了用户,但我们仍然需要设置他们的密码。 我们通过将帐户登录名传递给passwd
命令来完成此操作。
sudo 密码 maryq
系统会提示您输入新密码,您必须输入两次。
使用添加用户
要使用adduser
命令添加新用户,我们提供要创建的帐户的登录名。
sudo 添加用户 maxn
系统会提示您输入密码和新用户的全名。
如果需要,当系统提示您输入可选的“全名”、“房间号”、“工作电话”、“家庭电话”和“其他”字段时,您可以按“Enter”。 这些将留空。
如何在 Ubuntu 中添加用户组
通常,在 Linux 中将用户添加到组时,实际上是将他们添加到另一个组。 该组必须已经存在。
我们使用usermod
命令执行此操作。 重要的是确保将-a
(追加)选项与-G
(补充组)选项一起使用。 如果不这样做,用户将成为新组的成员,但他们的其他组成员身份将被删除。
这会导致很多问题,因为他们将不是他们自己的主要组的成员,并且他们将无法访问自己的文件——即使他们能够登录。
要将maxn
添加到开发组,我们使用-a
(追加)和-G
(补充组)选项以及我们要将它们添加到的组的名称。 我们将在之前和之后使用groups
命令,以便我们可以看到所做的更改。
组最大值
sudo usermod -a -G development maxn
组最大值
正如我们所见,用户maxn
已被添加到“开发”组,并且他仍然是其他组的成员。
如何在 Ubuntu 中列出用户
跟踪用户帐户也是管理员职责的一部分。 值得庆幸的是,查看现有用户帐户列表不是问题,并且有多种方法可以做到这一点。
我们可以使用 less 查看“/etc/passwd”文件,但它显示了所有系统和进程“用户”帐户以及实际有机人员使用的帐户。
少 /etc/passwd
所有用户帐户都有一个唯一的数字 ID。 可用作 ID 的最低和最高值存储在“/etc/login.defs”文件中。 如果我们发现这些值,我们可以列出值介于这两个限制之间的帐户。 这将为我们列出真正的用户帐户。
为了找出上限和下限,我们将使用grep
搜索“/etc/login.defs”文件。 我们正在搜索以“UID_MIN”或“UID_MAX”开头的行。
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs
在此计算机上,用户帐户 ID 的范围是从 1000 到 60000。
有了这些知识,我们可以使用getent
命令在密码数据库中搜索值在 1000 到 60000 范围内的条目。
获取密码 {1000..60000}
这要有用得多,但是因为它要检查 59,000 个用户 ID,所以它确实需要一段时间才能运行。 我们可以通过找出使用次数最多的用户 ID 并搜索到该值来减少该时间。
我们将使用cut
命令并使用冒号“ :
”作为字段分隔符。 我们将从“/etc/passwd”文件中提取第三个字段,即用户 ID 字段。 我们将通过sort
传输输出,并使用-g
(一般数字排序)选项以数字升序显示结果。
剪切 -d: -f3 /etc/passwd | 排序-g
1000 到 60000 之间的任何值都是有效的人类帐户。 这台计算机上满足这些标准的最高值 1003。将该值放入我们的getent
命令中可以显着加快速度。
获取密码 {1000..1003}
如何在 Ubuntu 上将用户添加到 sudo
那些能够使用sudo
命令的少数用户都是特定组的成员。 要将sudo
权限授予某人,您必须将他们添加到该组。 在 Ubuntu 和许多其他发行版上,该组的名称是“sudo”,但也可能是其他名称,例如“wheel”,因此最好检查一下。
sudo visudo
命令打开一个编辑器并加载“/etc/sudoers”文件。 向下滚动,直到看到类似于“允许组成员 sudo 执行任何命令”的条目,然后记下组名。
须藤维苏多
在我们的例子中,它是“sudo”。
我们将使用我们之前使用的usermod
命令将用户maryq
添加到该组。
团体玛丽克
sudo usermod -a -G sudo maryq
团体玛丽克
下次 Mary 登录时,她将能够使用sudo
命令。
如果用户对sudo
有特定的需求而仅此而已,那么让他们无限制地访问sudo
就太过分了。 假设 Max 需要能够使用apt
命令安装软件,但不需要完全的sudo
访问权限。
我们需要将他添加到“/etc/sudoers”文件中,并指定他可以用sudo
运行的命令。
须藤维苏多
滚动文件并将这些行插入文件中最后一个条目的正上方。
# 用户 Max 可以使用 apt 安装软件 maxn ALL=(root) /usr/bin/apt
第一行是注释。 第二行以 Max 的默认用户组名称开头。 这通常与用户的登录名匹配。 “ALL=”表示这适用于该网络上的所有主机。 “(root)”表示“maxn”组的成员可以对命名命令承担 root 权限,唯一的命名命令是“ apt
”。
请注意,在“maxn”之后有一个制表符,而不是一系列空格。
保存您的更改。 当 Max 下次登录时,他将能够使用sudo
运行apt
命令。 他将无法将sudo
与任何其他命令一起使用。
如何在 Ubuntu 上更改用户密码
更改用户密码很容易。 您需要将sudo
与 passwd 命令结合使用。
须藤密码最大
系统会要求您输入密码两次以确保输入正确。 下次用户登录时,他们将需要使用新密码。
如果您不想选择用户的密码,请使用 -e(过期)选项。 这会强制用户在下次登录时选择自己的新密码。
sudo passwd -e maxn
如何在 Ubuntu 上删除用户
Ubuntu 和其他 Debian 派生的发行版有deluser
命令来从你的系统中删除一个用户。 不基于 Debian 的发行版改为使用userdel
命令。
在你使用核选项之前,你真的要删除它们吗? 你可以把他们锁在外面。 这使您可以自由查看他们的文件等。
如果您决定删除它们但可能想引用它们的文件和数据,请使用诸如tar
之类的工具存档它们的主目录。
让我们以 Max 的用户帐户maxn
为例。
要锁定他,我们可以使用带有-l
(锁定)选项的passwd
命令。
sudo passwd -l maxn
要存档他的主目录,我们将使用tar
。
sudo tar cfjv max-normal-home-folder.tar.bz /home/maxn
请注意,在tar
的命令行选项之前没有连字符“-”。 我们用了:
- c : 创建一个存档文件。
- f :新存档文件的文件名。
- j : 使用 bzip2 压缩。
- v :在创建存档时提供详细输出。
存档文件是为我们创建的,具有我们要求的名称。
ls
要删除用户,我们将使用--remove-home
选项同时清除他们的数据。
sudo deluser --remove-home maxn
马克斯是历史。
在非 Debian 发行版上,命令是:
sudo userdel --remove maxn
从摇篮到坟墓
作为系统管理员,您对普通用户拥有完全的控制权。 从创建它们、管理它们到最终删除它们,命令行都可以让您完成这一切。