重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Linux查看用户所属的组的命令的方法。
公司主营业务:网站设计制作、做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出岳阳楼免费做网站回馈大家。
如下参考:
1.首先打开终端(在本例中是Ubuntu系统),然后为其打开命令界面。
2.然后输入命令行cat/etc/passwd,直接按enter键,如下图所示。
3.然后会有很多信息显示在这里,所有的用户都会在这里,如下图所示。
4.然后看看所有的组,做同样的事情,输入命令行cat/etc/group并按回车,如下所示。
5.然后系统中的所有组都会显示出来,就像用户一样,最后一个组就是我刚刚创建的组,如下图所示。
6.使用命令行组用户名,您可以查看当前用户组和组中的其他成员的信息,如下图所示。
Linux中每个用户都要属于一个或多个组,有了用户组,就可以将用户添加到组中,这样就方便管理员对用户的集中管理。 Linux系统中用户组分为root组、系统组、普通用户组三类。当一个用户属于多个组时,这些组中只能有一个作为该用户的主属组,其他组就被称为此用户的次属组。 组基本信息在文件/etc/group中;组密码信息在文件/etc/gshadow中。通过命令:cat /etc/group、cat /etc/gshadow可查看文件内容。
各用户组中,以 ":" 作为字段之间的分隔符,分为 4 个字段,每个字段对应的含义为:
组名:密码:GID:该用户组中的用户列表
而在gshadow文件中,每行代表一个组用户的密码信息,各行信息用 ":" 作为分隔符,分为 4 个字段,每个字段的含义如下:
组名:加密密码:组管理员:组附加用户列表
root用户可以直接修改/etc/group文件达到管理组的目的,也可以使用以下命令:groupadd、groupdel、groupmod -n、gpasswd -a、gpasswd -d、newgrp。
下面使用案例分别讲解这些命令:
添加用户组的命令是 groupadd,命令格式如下:
groupadd [ -g gid [ -o ] ] [ -r ] [ -f ] group
参数说明:
-g:指定新建工作组的 id;
-r:创建系统工作组,系统工作组的组ID小于 500;
-K:覆盖配置文件 "/ect/login.defs";
-o:允许添加组 ID 号不唯一的工作组。
-f,--force: 如果指定的组已经存在,此选项将失明了仅以成功状态退出。当与 -g 一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭)。
示例:创建一个新的组,并添加组 ID。
[root@VM-4-4-centos ~]# groupadd -g 888 newgroup
此时在/etc/group文件中产生了一个id为888的项目:
删除用户组时,可用groupdel(group delete)指令来完成。倘若该组中仍包括某些用户,则必须先删除这些用户后,方能删除组。 注意:删除的组不能为主属组! 命令格式:
groupdel [组名]
示例:删除用户组 newgroup
[root@VM-4-4-centos ~]# groupdel newgroup
此时再查看/etc/group文件时可以看到用户组newgroup已经不存在,删除成功!
要更改用户组识别码或名称可使用 groupmod 来完成。命令格式:
groupmod [ -g 群组识别码 -o ] [ -n 新群组名称 ] [原群组名称]
参数说明 :
-g 群组识别码 设置欲使用的群组识别码。
-o 重复使用群组识别码。
-n 新群组名称 设置欲使用的群组名称。
示例:创建用户组newgroup并修改其名称为modifiedgroup
[root@VM-4-4-centos ~]# groupadd newgroup
[root@VM-4-4-centos ~]# groupmod -n modifiedgroup newgroup
查看/etc/group文件,只存在名称为modifiedgroup的用户组,修改成功!
gpasswd 是 Linux 下工作组文件 /etc/group 和 /etc/gshadow 管理工具,用于将一个用户添加到组或者从组中删除。命令格式:
gpasswd [可选项] 组名
可选项参数 :
-a:添加用户到组;
-d:从组删除用户;
-A:指定管理员;
-M:指定组成员和-A的用途差不多;
-r:删除密码;
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
示例1:将用户yangwei添加到组modifiedgroup中
[root@VM-4-4-centos ~]# gpasswd -a yangwei modifiedgroup
此时查看/etc/group文件发现组 modifiedgroup中出现用户yangwei
示例2:将用户yangwei从组modifiedgroup中给删除
[root@VM-4-4-centos ~]# gpasswd -d yangwei modifiedgroup
再次查看/etc/group文件发现用户yangwei已经不存在。
当需要在不同的群组下工作的时候我们需要进行切换群组操作,这个操作由newgrp指令来完成。命令格式如下:
newgrp [群组名称]
注意!当前用户必须都是两个群组的成员,否则切换群组时需要输入切换组的组密码,这时候当前用户作为临时成员在切换组下工作,所创建的文件全都属于切换组。
示例1:用户yangwei不属于群组modifiedgroup,请将当前工作组切换为modifiedgroup。
示例2:将用户yangwei添加到组modifiedgroup中,并切换工作组为modifiedgroup。
总结:Linux用户组管理需要掌握最基本的几个命令及其选项参数: groupadd 、groupdel 、groupmod 、gpasswd 、newgrp !
在Linux上使用groups命令可以查看用户所在的组。要查看user3所属的
用户组
,
执行命令
:
groups
users3
执行效果类似于下图所示:
说明:第一条命令,admin用户属于admin组,第二条命令,root用户属于root组、bin组、daemon组、sys组、adm组、disk组、wheel组。
/etc/group
文件是用户组的配置文件。
/etc/passwd
文件是用户的配置文件。
使用cat、more、less、head、tail以及vim等命令都可以查看、修改这两个配置文件。
说明:
/etc/passwd的文件内容格式:注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序
。以root用户为例。root是用户注册名,x表示密码保存在/etc/shadow,用户id为0,所在用户组id为0,用户名是root,home目录为/root,解释程序/bin/bash。
/etc/group的文件内容格式: 组名:密码保存位置:组id:组成员。以root用户组为例,即组名是root,密码保存位置为/etc/shadow,root组的gid为0,组下面的用户是root用户。
方法一:groups 命令法,groups 命令可以查看某个用户所属的用户组
只执行 groups 命令,可以查看系统当前登录用户的所属组
查询特定用户的用户组,在 groups 后面跟用户名即可
例如:groups root
方法二:查看 /etc/group 法
/etc/group 是用户组配置文件,可以查看此文件通过 grep 查询某个用户所在的用户组
例如:
cat /etc/group | grep root
方法三:id 命令法,id 命令也可以查看某个用户所属的用户组
只执行 id 命令,可以查看系统当前登录用户的用户组
查询特定用户的用户组,在 id 后面跟用户名即可
例如:
id root