在Linux中将用户添加到特定组的四种方法

Linux组是用于管理Linux中用户帐户的组织单位。

对于Linux系统中的每个用户和组,它都有唯一的数字标识号。

它称为用户ID(UID)和组ID(GID)。组的主要目的是为组的成员定义一组特权,它们都可以执行特定的操作,但不能执行其他操作。

Linux中有两种类型的默认组。每个用户应该只有一个主要组和任意数量的次要组。

主要组:在创建用户帐户期间,已将主要组添加到用户。通常是用户名。当执行任何操作(例如,创建新文件(或目录),修改文件或执行命令等)时,主要组将应用于用户。用户主要组信息存储在/etc/passwd文件中。

次要小组:被称为补充小组。它允许用户组在相同的组成员文件中执行特定的操作。例如,如果您希望允许很少的用户运行Apache(httpd)服务命令,则非常适合。

可以使用以下四种方法来完成。

usermod: usermod命令修改系统帐户文件以反映在命令行上指定的更改。

gpasswd:gpasswd命令用于管理/etc/group和/etc/gshadow。每个组可以具有管理员,成员和密码。

Shell Script: Shell脚本允许管理员自动执行所需的任务。

Manual Method:我们可以通过编辑/etc/group文件将用户手动添加到任何组中。

我假设您已经有此活动所需的组和用户。在这个例子中,我们将使用以下的用户user1,user2,user3和组  mygroup和mygroup1。

在进行更改之前,我想检查用户和组信息。我可以看到以下用户与他们自己的组关联,而不与其他用户关联。

# id user1

uid=1008(user1) gid=1008(user1) groups=1008(user1)

# id user2

uid=1009(user2) gid=1009(user2) groups=1009(user2)

# id user3

uid=1010(user3) gid=1010(user3) groups=1010(user3)

我可以看到该组中没有关联的用户。

# getent group mygroup

mygroup:x:1012:

# getent group mygroup1

mygroup1:x:1013:

方法1:使用usermod命令

usermod命令修改系统帐户文件以反映在命令行上指定的更改。

如何使用usermod命令将现有用户添加到辅助或辅助组?

要将现有用户添加到辅助组,请使用带-G选项和组名的usermod命令。

句法

# usermod [-G] [GroupName] [UserName]

如果给定的用户或组在系统中不存在,则会收到错误消息。如果您没有收到任何错误,则说明该用户已添加到相应的组中。

# usermod -a -G mygroup user1

让我们使用id命令查看输出。是的,已成功添加。

# id user1

uid=1008(user1) gid=1008(user1) groups=1008(user1),1012(mygroup)

如何使用usermod命令将现有用户添加到多个辅助或辅助组?

要将现有用户添加到多个辅助组,请使用带-Goption选项的usermod命令和带逗号的组名称。

句法

# usermod [-G] [GroupName1,GroupName2] [UserName]

在此示例中,我们将添加user2到mygroup和中mygroup1。

# usermod -a -G mygroup,mygroup1 user2

让我使用id命令查看输出。是的,user2已成功添加到mygroup和中mygroup1。

# id user2

uid=1009(user2) gid=1009(user2) groups=1009(user2),1012(mygroup),1013(mygroup1)

如何更改用户的主要组?

要更改用户的主要组,请使用带-g选项和组名的usermod命令。

句法

# usermod [-g] [GroupName] [UserName]

我们必须使用-g更改用户的主要组。

# usermod -g mygroup user3

让我们看一下输出。是的,它已成功更改。现在,它显示mygroup为user3主要组,而不是user3。

# id user3

uid=1010(user3) gid=1012(mygroup) groups=1012(mygroup)

方法2:使用gpasswd命令?

gpasswd命令用于管理/ etc / group和/ etc / gshadow。每个组可以具有管理员,成员和密码。

如何使用gpasswd命令将现有用户添加到次要或补充组?

要将现有用户添加到辅助组,请使用带有-M选项的gpasswd命令和该组的名称。

句法

# gpasswd [-M] [UserName] [GroupName]

在此示例中,我们将添加user1到mygroup。

# gpasswd -M user1 mygroup

让我们使用id命令查看输出。是的,user1已成功添加到中mygroup。

# id  user1

uid=1008(user1) gid=1008(user1) groups=1008(user1),1012(mygroup)

如何使用gpasswd命令将多个用户添加到辅助或补充组?

要将多个用户添加到辅助组,请使用带有-M选项的gpasswd命令和该组的名称。

句法

# gpasswd [-M] [UserName1,UserName2] [GroupName]

在这个例子中,我们要添加user2和user3成mygroup1。

# gpasswd -M user2,user3 mygroup1

让我们使用getent命令查看输出。是的,user2并且user3已成功添加到中mygroup1。

# getent group mygroup1

mygroup1:x:1013:user2,user3

如何使用gpasswd命令从组中删除用户?

要将用户从组中删除,请使用带-d选项的gpasswd命令以及用户和组的名称。

句法

# gpasswd [-d] [UserName] [GroupName]

在此示例中,我们user1将从中删除mygroup。

# gpasswd -d user1 mygroup

Removing user user1 from group mygroup

方法3:使用Shell脚本

根据以上示例,我们知道该usermod命令无法将多个用户添加到组中,但是可以通过该gpasswd命令来完成。

但是,它将覆盖组中当前关联的现有用户。

例如,user1已经与关联mygroup。如果您想在with 命令中添加user2和添加命令,该命令将无法正常运行,并且会直接作用在该组上,而不是对其进行修改。user3mygroupgpasswd

如果您想将多个用户添加到多个组,将如何解决?

这两个命令中都没有默认选项可实现此目的。

因此,我们需要编写一个小的Shell脚本来实现这一目标。

方法3a:如何使用gpasswd命令将多个用户添加到辅助或辅助组?

如果要使用gpasswd命令将多个用户添加到辅助组或补充组中,请创建以下小型Shell脚本。

创建用户列表。每个用户应位于单独的行中。

$ cat user-lists.txt

user1

user2

user3

使用以下Shell脚本将多个用户添加到单个辅助组。

vi group-update.sh

#!/bin/bash

for user in `cat user-lists.txt`

do

usermod -a -G mygroup $user

done

设置文件的可执行权限group-update.sh。

# chmod + group-update.sh

最后运行脚本以实现此目的。

# sh group-update.sh

让我们使用getent命令查看输出。是的,user1,user2并user3成功加入mygroup。

# getent group mygroup

mygroup:x:1012:user1,user2,user3

方法3b:如何使用gpasswd命令将多个用户添加到多个辅助或补充组?

如果要使用gpasswd命令将多个用户添加到多个辅助组或补充组中,请创建以下小型Shell脚本。

创建用户列表。每个用户应位于单独的行中。

$ cat user-lists.txt

user1

user2

user3

创建组列表。每个组应放在单独的行中。

$ cat group-lists.txt

mygroup

mygroup1

使用以下Shell脚本将多个用户添加到多个辅助组。

#!/bin/sh

for user in `more user-lists.txt`

do

for group in `more group-lists.txt`

do

usermod -a -G $group $user

done

done

设置文件的可执行权限group-update-1.sh。

# chmod +x group-update-1.sh

最后运行脚本以实现此目的。

# sh group-update-1.sh

让我使用getent命令查看输出。是的,user1,user2并user3成功加入mygroup。

# getent group mygroup

mygroup:x:1012:user1,user2,user3

此外,user1,user2并user3成功加入mygroup1。

# getent group mygroup1

mygroup1:x:1013:user1,user2,user3

方法4:在Linux中将用户添加到组的手动方法?

我们可以通过编辑/etc/group文件将用户手动添加到任何组中。

打开/etc/group文件并搜索您要在其中更新用户的组名。最后,将“用户”更新为相应的组。

# vi /etc/group

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任

linux如何把用户加组内,在Linux中将用户添加到特定组的四种方法相关推荐

  1. linux给文件夹加密码,如何使用linux命令给文件上锁?linux命令文件加密方法

    如何用linux命令给文件夹加密上锁呢?这是很多linux用户会碰到的问题,今天小编给大家介绍下linux命令给文件加密上锁的方法. 怎么用linux命令给自己的文件上锁 原因: 有些时候一个工程需要 ...

  2. linux安装IPython四种方法

    IPython是Python的交互式Shell,提供了代码自动补完,自动缩进,高亮显示,执行Shell命令等非常有用的特性.特别是它的代码补完功能,例如:在输入zlib.之后按下Tab键,IPytho ...

  3. 在应用程序中替换Linux中Glibc的malloc的四种方法

    打算优化系统的内存分配,接管glibc提供的内存管理,但是整个工程的代码量很大,使用malloc.realloc.calloc和free的地方到处都是,如果自己写好的接口需要重命名所有的调用,先不说工 ...

  4. Linux开机自动化执行脚本的四种方法(真实案例分享)

    Linux开机自动化执行脚本的四种方法(真实案例分享) 最近眼睛有点疼,可能是长时间面对电脑屏幕的原因罢.百度后安装了Redshift这款护眼工具,只要事先写好配置文件它会根据你的地理位置自动调节屏幕 ...

  5. linux如何创建共享内存,linux实现共享内存同步的四种方法

    https://blog.csdn.net/sunxiaopengsun/article/details/79869115 本文主要对实现共享内存同步的四种方法进行了介绍. 共享内存是一种最为高效的进 ...

  6. linux忘记root密码怎么办——重置root密码的四种方法

    linux忘记root密码之后,可以通过修改bootloader启动项的参数,进入系统,重新通过passwd指令修改root 密码. 下面介绍了常用的四种方法,在不同的场景可以选择不同的方法进行roo ...

  7. Linux配置网络信息(四种方法)

    Linux配置网络信息(四种方法) 临时配置IP地址(2种方式) 1.ifconfig命令 语法: ifconfig <以太网接口> <IP地址> netmask <掩码 ...

  8. (第5讲)同一用户的不同页面共享数据的四种方法

    同一用户的不同页面共享数据的四种方法 1.cookie 2.sendRedirect 3.session 4.隐藏表单提交 1.cookie 服务器在客户端保存的用户信息,比如登录名,密码等就是coo ...

  9. 在js中加html_在HTML文档中嵌入JavaScript的四种方法

    在HTML里嵌入JavaScript 在HTML文档里嵌入客户端JavaScript代码有4中方法: 1.内嵌,放置在标签之间  (少): 2.放置在有 3.放置自HTML事件处理程序中,该事件处理程 ...

最新文章

  1. linux 7 没有权限访问,技术|RHCSA 系列(十三): 在 RHEL 7 中使用 SELinux 进行强制访问控制...
  2. 字符串里解析vue表达式
  3. 如何让Docker镜像飞起来
  4. javaWeb服务详解【客户端调用】(含源代码,测试通过,注释) ——applicationContext.xml
  5. x-lite for linux,Linux Lite 4.6正式发布:现基于Ubuntu 18.04.3 LTS
  6. 关于快速排序的一些理解
  7. CI框架发送邮件(带附件)
  8. selenium 常见面试题以及答案(Java版)
  9. keil中编译时出现*** ERROR L107: ADDRESS SPACE OVERFLOW
  10. python基本词汇的特点_Python 爬完评论只会做词云?情感分析了解一下
  11. 小程序的购物商城源码(前端+后端)
  12. oracle14 jar的pom,MyEclipse环境下如何采用Maven导入ojdbc14.jar和ojdbc6.jar | 贝壳里的海...
  13. 婚纱摄影后期修片,PS婚纱写真后期…
  14. OCR文本检测模型—CTPN
  15. WebMagic springboot 多站点垂直数据采集(支持插队采集)
  16. AMD zen3 5600X + B550M 黑苹果 EFI Big Sur 11.5.2
  17. 文字生成图片的软件有哪些?这篇文章给你介绍三个
  18. 撒娇吧使大家啊让你撒何地什么科的你
  19. MEMS传感器的6大种类简介-传感器专题
  20. Redis集群架构搭建和原理

热门文章

  1. C++的创建命名管道(CreateNamedPipe)
  2. 前端输入框校验限制不能输入中文
  3. python-docx 识别分页符并在新文件中添加(真实!)
  4. 图像预处理——图像分割
  5. 腾讯云 Finops Crane 开发者集训营 - 让云不再“钱”途无量
  6. 华为mate40e隔空手势设置教程(2021)
  7. 虚拟机占用磁盘空间越来越大解决方案大总结
  8. Java后端开发实践-项目模板
  9. 蓝港公布3D双端动作游戏《黎明之光》 预告片首曝
  10. 雨林木风 Ghost Win7 SP1 装机版 2013.04