在 Linux 操作系统下,如何添加一个新用户到一个特定的组中?如何同时将用户添加到多个组中?又如何将一个已存在的用户移动到某个组或者给他增加一个组?对于不常用 Linux 的人来讲,记忆 Linux 那繁多的命令行操作真是件不容易的事。

在 Linux 中,增加用户或改变用户的组属性可以使用 useradd 或者 usermod 命令。useradd增加一个新用户或者更新默认新用户信息。usermod 则是更改用户帐户属性,例如将其添加到一个已有的组中。

在 Linux 用户系统中存在两类组。第一类是主要用户组,第二类是附加用户组。所有的用户帐户及相关信息都存储在 /etc/passwd 文件中,/etc/shadow 和 /etc/group 文件存储了用户信息。

目录 Contents
1 useradd 示例 – 增加一个新用户到附加用户组
2 useradd 示例 – 增加一个新用户到主要用户组
3 usermod 示例 – 将一个已有用户增加到一个已有用户组中
4 附:管理用户(user)和用户组(group)的相关工具或命令
useradd 示例 – 增加一个新用户到附加用户组¶
新增加一个用户并将其列入一个已有的用户组中需要用到 useradd 命令。如果还没有这个用户组,可以先创建该用户组。

命令参数如下:

useradd -G {group-name} username
例如,我们要创建一个新用户 cnzhx 并将其添加到用户组 developers 中。首先需要以 root 用户身份登录到系统中。先确认一下是否存在 developers 这个用户组,在命令行输入:

# grep developers /etc/group
输出类似于:

developers:x:1124:
如果看不到任何输出,那么就需要先创建这个用户组了,使用 groupadd 命令:

# groupadd developers
然后创建用户 cnzhx 并将其加入到 developers 用户组:

# useradd -G developers cnzhx
为用户 cnzhx 设置密码:

# passwd cnzhx
为确保已经将该用户正确的添加到 developers 用户组中,可以查看该用户的属性,使用 id 命令:

# id cnzhx
输出类似于:

uid=1122(cnzhx) gid=1125(cnzhx) groups=1125(cnzhx),1124(developers)
前面命令中用到的大写的 G (-G) 参数就是为了将用户添加到一个附加用户组中,而同时还会为此用户创建一个属于他自己的新组 cnzhx。如果要将该用户同时增加到多个附加用户组中,可以使用英文半角的逗号来分隔多个附加组名(不要加空格)。例如,同时将 cnzhx 增加到 admins, ftp, www, 和 developers 用户组中,可以输入以下命令:

# useradd -G admins,ftp,www,developers cnzhx
useradd 示例 – 增加一个新用户到主要用户组¶
要增加用户 cnzhx 到组 developers,可以使用下面的指令:

# useradd -g developers cnzhx
# id cnzhx
输出类似于:

uid=1123(cnzhx) gid=1124(developers) groups=1124(developers)
请注意如前面的示例的区别,这里使用了小写字母 g (-g)作为参数,此时用户的主要用户组不再是 cnzhx 而直接就是 developers。

小写字母 g (-g)将新增加的用户初始化为指定为登录组(主要用户组)。此组名必须已经存在。组号(gid)即是此已有组的组号。

usermod 示例 – 将一个已有用户增加到一个已有用户组中¶
将一个已有用户 cnzhx 增加到一个已有用户组 apache 中,使此用户组成为该用户的附加用户组,可以使用带 -a 参数的 usermod  指令。-a 代表 append, 也就是将用户添加到新用户组中而不必离开原有的其他用户组。不过需要与 -G 选项配合使用:

# usermod -a -G apache cnzhx
如果要同时将 cnzhx 的主要用户组改为 apache,则直接使用 -g 选项:

# usermod -g apache cnzhx

如果要将一个用户从某个组中删除,则

gpasswd -d user group
但是这个时候需要保证 group 不是 user 的主组。

附:管理用户(user)和用户组(group)的相关工具或命令¶
1)管理用户(user)的工具或命令

useradd    注:添加用户
adduser    注:添加用户
passwd     注:为用户设置密码
usermod    注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov      注:同步用户从/etc/passwd 到/etc/shadow
pwck       注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv   注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger     注:查看用户信息工具
id         注:查看用户的UID、GID及所归属的用户组
chfn       注:更改用户信息工具
su         注:用户切换工具
sudo       注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo     注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit   注:和sudo 功能差不多;

2)管理用户组(group)的工具或命令
groupadd    注:添加用户组;
groupdel    注:删除用户组;
groupmod    注:修改用户组信息
groups      注:显示用户所属的用户组
grpck
grpconv     注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv   注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;

将一个用户添加到某个组,即可让此用户拥有该组的权限。比如在配置 VPS 上的 LAMP 服务器的时候,运行网站的 apache 用户修改的文件,如果服务器管理用户 cnzhx(可以通过 ssh 登录到服务器)需要修改此文件的话,就可以将 cnzhx 加入到 apache 组中达到目的。

Linux 中将用户添加到组的指令相关推荐

  1. linux查将用户加入组,如何在Linux中将用户添加到组

    在本教程中,我们将介绍如何在Linux系统中将用户添加到组.我们还将向您展示如何从组中删除用户以及如何创建,删除和列出组. 先决条件 要向一个群组添加用户,您需要以具有sudo访问权限或root用户身 ...

  2. 如何在Linux中将用户添加到组

    Linux提供了通用的用户/组结构. 在本文中,我们将探讨如何创建用户并将其添加到组中. 注意:这些说明在使用Red Hat Enterprise Linux,Fedora和CentOS时有效. 它们 ...

  3. linux如何把用户加组内,在Linux中将用户添加到特定组的四种方法

    在Linux中将用户添加到特定组的四种方法 Linux组是用于管理Linux中用户帐户的组织单位. 对于Linux系统中的每个用户和组,它都有唯一的数字标识号. 它称为用户ID(UID)和组ID(GI ...

  4. linux将用户移动到用户组,Linux将用户添加到组

    Linux将用户添加到组 Linux允许我们将用户添加到特定的用户组.一个用户帐户可以添加到多个组中.例如,具有sudo权限的用户可以访问sudo命令以获得相关权限.此外,我们可以为组配置文件权限和其 ...

  5. linux把用户添加到组

    使用 usermod 命令 将现有的用户添加到多个次要组或附加组 # usermod -a -G GroupName UserName id 命令查看输出 # id UserName 用户添加到多个次 ...

  6. linux 给用户添加所属组

    usermod -a -G bb aa 这行命令的意思是将aa用户添加到bb组.添加时是追加的方式,例如:原先aa 属于A组,则执行了该命令后aa属于A组和bb组 查看aa所属组的命令:groups ...

  7. linux附加组命令,如何从Linux命令行将用户添加到组

    使用在Linux组的构成本地系统和网络访问控制的基础.总之,一切都被认为是Linux的一个文件-从基本的文本文件,硬盘驱动器-而这些文件都有一个所属组.如果你不控制特定文件组中,你可能没有读取或写入访 ...

  8. 查看linux创建了哪些用户组,Linux查看用户属于哪些组/查看用户组下有哪些用户...

    一.关于/etc/group格式的讨论 在说/etc/group格式的时候,网上很多文章都会说是"组名:组密码:组ID:组下用户列表",这说法对了解/etc/group格式是没问题 ...

  9. 用户组及添加用户到组_如何将用户添加到组?

    用户组及添加用户到组 In Linux users may have different groups registered. By default adding a user to the Linu ...

最新文章

  1. java日期大小比较(亲测)
  2. 计算机导论中的名词解释,计算机导论期末考试试题及答案
  3. 程序员面试不完全指南
  4. 加速静态内容访问速度的CDN
  5. Lucene系列:(9)搜索结果排序
  6. mac电脑下Tomcat和Apach配置流程(超详细)
  7. 【2020牛客NOIP赛前集训营-提高组(第二场)】题解(GCD,包含,前缀,移动)
  8. python识别发票二维码_python如何实现二维码的生成和识别
  9. java基础学习(8)4种引用类型简析StrongReference、 SoftReference、 WeakReference 、PhantomReference
  10. SQL Server 2005利用分区对海量数据的处理
  11. Java开发微信公众号后台
  12. NetMeeting不能共享桌面的解决办法
  13. gimp图片编辑器_GIMP图像编辑器改变我生活的10种方式
  14. 用 windows 资源监视器 查看 被占用的文件
  15. 苹果中国官网新增蚂蚁花呗 24 期分期免息服务
  16. 从小米智能家居入手,揭秘物联网关键技术​
  17. 莫队算法二(树上莫队cot2,Haruna’s Breakfast)
  18. handler机制--Handler使用
  19. vue antd table customRender 自定义标签
  20. 优链时代入围Internet Deep 【2022元宇宙TOP500】榜!

热门文章

  1. 【solr基础教程之二】索引
  2. linq to object 、linq to sql 、linq to entity 批量 新增、更新、删除功能扩展
  3. Apache 创建虚拟主机目录和设置默认访问页面
  4. 操作系统实验报告14:Peterson 算法
  5. ai如何做倒角和圆角_石材路沿石是如何倒角的?倒角费用是多少?路沿石质量标准?...
  6. [python学习] 简单爬取图片网站图库中图片
  7. Python中is和==的区别
  8. 2013年第四届蓝桥杯C/C++ A组国赛 —— 第五题:网络寻路
  9. 《算法竞赛入门经典》计算组合数问题
  10. 执行后rosrun 显示找不到包 [rospack] Error: package ‘pluming_param_server‘ not found