Linux 中有效用户组和初始用户组的实现

 更新时间:2019年11月20日 08:31:02   作者:刘云飞  
这篇文章主要介绍了Linux 中有效用户组和初始用户组的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

先查看一下 /etc/group 文件:

[root@localhost /]# cat /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
wheel:x:10:root
...

这个文件的每一行代表一个用户组,以冒号分隔各个字段。共有4个字段,分别是:

  • ==用户组名称==
  • ==用户组密码==:通常不需要设置,这个设置通常是给“用户组管理员”是用的。
  • ==GID==:用户组 ID
  • ==此用户组支持的账号名称==:一个账号可以加入多个用户组,如果某个用户想要加入某个用户组,只需将该用户的用户名添加进这个字段中。

初始用户组

在 /etc/passwd 中用户对应的那一行的第4个字段(GID),就是初始用户组。当用户登录系统,立刻就拥有这个初始用户组的相关权限。

[root@localhost /]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
...

有效用户组

有效用户组表示用户此时此刻所在的用户组是什么。在切换有效用户组之前,有效用户组就是初始用户组。

想要知道用户自己当前的有效用户组和支持的用户组(在 /etc/group 文件中第四字段包含此用户的用户组),使用 groups 即可。

[root@localhost /]# groups
root bin daemon sys adm disk wheel

在这个输出的信息中,第一个输出的用户组就是当前的有效用户组了(但是有些系统并不这么做)。

如果我以 touch 去创建一个新文件,那么这个文件的所有者为 root,而且用户组是 root(有效用户组)。

切换有效用户组:newgrp

使用 newgrp 命令可以切换有效用户组,注意只能切换当前账号支持的用户组。

假设当前用户支持 “test” 和 “foo” 这两个用户组。那么 newgrp test 和 newgrp foo 是有效的。其他的都是无效的。

这个转换的背后原理是创建一个新的 shell,如果要恢复到前一个用户组需要用 exit 或 Ctrl+D 来注销当前的 shell 。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持华域联盟。

相关文章

  • CentOS 7更新时出现:Multilib version problems问题的解决方法

    CentOS 7更新时出现:Multilib version problems问题的解决方法

    这篇文章主要给大家介绍了关于CentOS 7系统更新时出现:Multilib version problems问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

    2017-11-11

  • linux系统终端修改字体的方法

    linux系统终端修改字体的方法

    我们以debian为例,介绍两种linux修改终端字体的设置方法,大家参考使用吧

    2014-01-01

  • 详解linux下umask的使用

    详解linux下umask的使用

    这篇文章主要介绍了详解linux下umask的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2019-09-09

  • Linux 字符设备驱动框架详细介绍

    Linux 字符设备驱动框架详细介绍

    这篇文章主要介绍了Linux 字符设备驱动框架详细介绍的相关资料,字符设备就是字节流形式通讯的I/O设备,绝大部分设备都是字符设备,这里提供简单的实例,需要的朋友可以参考下

    2016-12-12

  • Linux中使用top命令的技巧

    Linux中使用top命令的技巧

    今天小编就为大家分享一篇关于Linux中使用top命令的技巧,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    2018-09-09

  • CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.6.33+PHP5.6.26运行环境

    CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.6.33+PHP5.6.26运行

    这篇文章主要介绍了CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.6.33+PHP5.6.26运行环境,需要的朋友可以参考下

    2016-10-10

  • Linux shell利用sed如何批量更改文件名详解

    Linux shell利用sed如何批量更改文件名详解

    最近在学习shell,为了练习sed,写了个简单的批量修改文件名的脚本,所以下面这篇文章主要给大家介绍了关于Linux shell利用sed如何批量更改文件名的相关资料,需要的朋友们可以参考借鉴,下面来一起看看吧。

    2017-09-09

  • CentOS 7中使用Squid提供HTTP代理详解

    CentOS 7中使用Squid提供HTTP代理详解

    这篇文章主要给大家介绍了在CentOS 7中使用Squid提供HTTP代理的相关资料,以及及客户端的代理配置的方法,需要的朋友可以参考学习,下面来一起看看吧。

    2017-04-04

  • CentOS 7 中firewall-cmd命令详细介绍

    CentOS 7 中firewall-cmd命令详细介绍

    这篇文章主要介绍了 CentOS 7 中firewall-cmd命令详细介绍的相关资料,这里对CentOS 7的firewall-cmd命令一一介绍,希望能帮助开始使用的朋友,需要的朋友可以参考下

    2016-11-11

  • 详解如何在 Linux 启动时自动执行命令或脚本

    详解如何在 Linux 启动时自动执行命令或脚本

    这篇文章主要介绍了详解如何在 Linux 启动时自动执行命令或脚本,主要有两种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

    2017-03-03

最新评论

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。