首页 运维 linux运维 linux可将用户从组中删除吗

linux可将用户从组中删除吗

Mar 20, 2023 am 10:17 AM
linux

可以。删除方法:1、使用usermod从组中删除用户,语法“sudo usermod -G root 用户名”;2、使用gpasswd从指定组中删除用户,语法“sudo gpasswd -d 用户名 组名”;3、编辑“/etc/group”文件,手动从组中删除用户。

linux可将用户从组中删除吗

本教程操作环境:linux7.3系统、Dell G3电脑。

在Linux中,用户可以是一个主要组和一个或几个次要(辅助)组的成员。文件“ / etc / group”为Linux系统中的每个用户定义了组成员身份。

在本教程中,我们将学习如何在Linux组中删除用户。我们将使用两种方法,还将展示如何通过从“ / etc / group”文件中删除来手动从组中删除用户。

创建Linux用户

就本教程而言,我们将创建一个名为“ testuser”的用户。当创建一个新用户时,也会创建一个与该用户同名的新主要组。

我们将通过发出以下命令来创建新用户:

$ sudo useradd -m testuser
登录后复制

现在,我们可以为该用户创建密码:

$ sudo passwd testuser
Changing password for user testuser.
New password: 
BAD PASSWORD: The password contains the user name in some form
Retype new password: 
passwd: all authentication tokens updated successfully.
登录后复制

我使用了与用户名相同的密码,因此我收到警告,密码中不应包含用户名的某种形式。

将用户添加到组

首先,我们将使用groupadd命令创建两个新组,命令如下所示:

$ sudo groupadd testgroup1$ sudo groupadd testgroup2
登录后复制

现在,我们将“ testuser”用户添加到上面创建的两个组中,并使用以下命令将“ testuser”用户添加到“ root”组中:

$ sudo usermod -a -G root testuser
$ sudo usermod -a -G testgroup1 testuser
$ sudo usermod -a -G testgroup2 testuser
登录后复制

好的,现在来看一下“ / etc / group”文件,可以看到“ testuser”是这三个组的成员。

$ cat /etc/grouproot:x:0:testuser.............testuser:x:1001:testgroup1:x:1002:testusertestgroup2:x:1003:testuser
登录后复制

找出用户所属的组

我们还可以使用以下两种替代方法来检查用户属于哪个组

$ groups testuser
testuser : testuser testgroup1 testgroup2 root$ id -nG testuser
testuser testgroup1 testgroup2 root
登录后复制

可以看到输出非常相似,并且这些命令完成的是相同的事情。

使用usermod从组中删除用户

我们可以使用usermod命令一次从一个或多个组中删除一个用户。使用usermod时,您必须指定将用户保留在哪些辅助组中。让我用一个示例来解释一下。

$ groups testuser
testuser : testuser testgroup1 testgroup2 root
登录后复制

为了从“ testgroup1”和“ testgroup2”组中删除用户“ testuser”,请运行以下命令(即,仅将testuser保留在“ root”组中,它是主要的“ testuser”组):

$ sudo usermod -G root testuser
登录后复制
Results$ groups testuser
testuser : testuser root
登录后复制

因此,为了将用户划分为更多的组,您需要提及用逗号(,)分隔的组名,例如:

$ sudo usermod -G root,testgroup1 testuser
登录后复制
Results# groups testusertestuser : testuser root testgroup1
登录后复制

使用gpasswd从组中删除用户

完成相似结果的另一个命令是gpasswd。与usermod不同,我们使用此命令从指定的组中删除用户。

要从一个特定的组中删除用户,我们可以使用gpasswd命令:

$ sudo gpasswd -d testuser root
Removing user testuser from group root

$ groups testuser
testuser : testuser testgroup1 testgroup2

$ sudo gpasswd -d testuser testgroup1
Removing user testuser from group testgroup1

$ groups testuser
testuser : testuser testgroup2
登录后复制

从组中删除用户(手动)

我们还可以通过手动编辑文件'/ etc / group'从组中删除用户。重新启动后,此方法的效果将应用于用户。

你可以使用最喜欢的文本编辑器来编辑“ / etc / group”文件:

$ cat /etc/group
.............sssd:x:993:sshd:x:74:chrony:x:992:vagrant:x:1000:slocate:x:21:vboxsf:x:991:testuser:x:1001:testgroup1:x:1002:testusertestgroup2:x:1003:testuser$ groups testuser
testuser : testuser testgroup1 testgroup2 root
登录后复制

现在,我们将手动编辑最后两个条目来删除testuser,并从testgroup1和testgroup2中删除(编辑后的文件应如下所示):

$ cat /etc/group.............
sssd:x:993:
sshd:x:74:
chrony:x:992:
vagrant:x:1000:
slocate:x:21:
vboxsf:x:991:
testuser:x:1001:
testgroup1:x:1002:
testgroup2:x:1003:
登录后复制

更改将在重新启动后进行,现在该用户已从这两个组中删除:

$ groups testuser
testuser : testuser root
登录后复制

结论

在本教程中,我们学习了如何使用usermod、gpasswd以及从“ / etc / group”文件中手动删除用户来从组中删除用户。

相关推荐:《Linux视频教程

以上是linux可将用户从组中删除吗的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1274
29
C# 教程
1256
24
Linux体系结构:揭示5个基本组件 Linux体系结构:揭示5个基本组件 Apr 20, 2025 am 12:04 AM

Linux系统的五个基本组件是:1.内核,2.系统库,3.系统实用程序,4.图形用户界面,5.应用程序。内核管理硬件资源,系统库提供预编译函数,系统实用程序用于系统管理,GUI提供可视化交互,应用程序利用这些组件实现功能。

vscode上一步下一步快捷键 vscode上一步下一步快捷键 Apr 15, 2025 pm 10:51 PM

VS Code 一步/下一步快捷键的使用方法:一步(向后):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

git怎么查看仓库地址 git怎么查看仓库地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 仓库地址,请执行以下步骤:1. 打开命令行并导航到仓库目录;2. 运行 "git remote -v" 命令;3. 查看输出中的仓库名称及其相应的地址。

notepad怎么运行java代码 notepad怎么运行java代码 Apr 16, 2025 pm 07:39 PM

虽然 Notepad 无法直接运行 Java 代码,但可以通过借助其他工具实现:使用命令行编译器 (javac) 编译代码,生成字节码文件 (filename.class)。使用 Java 解释器 (java) 解释字节码,执行代码并输出结果。

sublime写好代码后如何运行 sublime写好代码后如何运行 Apr 16, 2025 am 08:51 AM

在 Sublime 中运行代码的方法有六种:通过热键、菜单、构建系统、命令行、设置默认构建系统和自定义构建命令,并可通过右键单击项目/文件运行单个文件/项目,构建系统可用性取决于 Sublime Text 的安装情况。

Linux的主要目的是什么? Linux的主要目的是什么? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

laravel安装代码 laravel安装代码 Apr 18, 2025 pm 12:30 PM

要安装 Laravel,需依序进行以下步骤:安装 Composer(适用于 macOS/Linux 和 Windows)安装 Laravel 安装器创建新项目启动服务访问应用程序(网址:http://127.0.0.1:8000)设置数据库连接(如果需要)

git软件安装 git软件安装 Apr 17, 2025 am 11:57 AM

安装 Git 软件包括以下步骤:下载安装包运行安装包验证安装配置 Git安装 Git Bash(仅限 Windows)

See all articles