Linux - 有效群组(effective group)与初始群组(initial group),groups,newgrp
每一个使用者在他的 /etc/passwd 里面的第四栏有所谓的 GID ,那个 GID 就是所谓的『初始群组 (initial group) 』!也就是说,当用户一登陆系统。立马就拥有这个群组的相关权限的意思。 举例来说,我们上面提到 dmtsai 这个使用者的 /etc/passwd 与 /etc/group 还有 /etc/gshadow 相关的内容例如以下:
[root@www ~]# usermod -G users dmtsai <==先配置好次要群组 [root@www ~]# grep dmtsai /etc/passwd /etc/group /etc/gshadow /etc/passwd:dmtsai:x:503:504::/home/dmtsai:/bin/bash /etc/group:users:x:100:dmtsai <==次要群组的配置 /etc/group:dmtsai:x:504: <==由于是初始群组,所以第四字段不须要填入账号 /etc/gshadow:users:::dmtsai <==次要群组的配置 /etc/gshadow:dmtsai:!:: |
细致看到上面这个表格,在 /etc/passwd 里面,dmtsai 这个使用者所属的群组为 GID=504 ,搜寻一下 /etc/group 得到 504 是那个名为 dmtsai 的群组啦。这就是 initial group。由于是初始群组, 使用者一登陆就会主动取得,不须要在 /etc/group 的第四个字段写入该账号的!
可是非 initial group 的其它群组可就不同了。举上面这个样例来说,我将 dmtsai 增加 users 这个群组其中,因为 users 这个群组并不是是 dmtsai 的初始群组,因此, 我必需要在 /etc/group 这个文件里,找到 users 那一行。而且将 dmtsai 这个账号增加第四栏。 这样 dmtsai 才可以增加 users 这个群组啊。
那么在这个样例其中,由于我的 dmtsai 账号同一时候支持 dmtsai 与 users 这两个群组。 因此,在读取/写入/执行文件时。针对群组部分,仅仅要是 users 与 dmtsai 这两个群组拥有的功能。 我 dmtsai 这个使用者都可以拥有喔!这样瞭呼?只是,这是针对已经存在的文件而言, 假设今天我要创建一个新的文件或者是新的文件夹,请问一下。新文件的群组是 dmtsai 还是 users ?呵呵!这就得要检查一下当时的有效群组了 (effective group)。
groups: 有效与支持群组的观察
假设我以 dmtsai 这个使用者的身份登陆后。该怎样知道我全部支持的群组呢? 非常easy啊,直接输入 groups 就能够了。注意喔。是 groups 有加 s 呢!结果像这样:
[dmtsai@www ~]$ groups dmtsai users |
在这个输出的信息中。可知道 dmtsai 这个用户同一时候属于 dmtsai 及 users 这个两个群组,并且, 第一个输出的群组即为有效群组 (effective group) 了。
也就是说。我的有效群组为 dmtsai 啦~此时,假设我以 touch 去创建一个新档,比如: 『 touch test 』,那么这个文件的拥有者为 dmtsai 。并且群组也是 dmtsai 的啦。
[dmtsai@www ~]$ touch test [dmtsai@www ~]$ ll -rw-rw-r-- 1 dmtsai dmtsai 0 Feb 24 17:26 test |
这样是否可以了解什么是有效群组了?通常有效群组的作用是在新建文件啦!
那么有效群组是否可以变换?
newgrp: 有效群组的切换
那么怎样变更有效群组呢?就使用 newgrp 啊!只是使用 newgrp 是有限制的,那就是你想要切换的群组必须是你已经有支持的群组。
举例来说。 dmtsai 能够在 dmtsai/users 这两个群组间切换有效群组,可是 dmtsai 无法切换有效群组成为 sshd 啦!
使用的方式例如以下:
[dmtsai@www ~]$ newgrp users [dmtsai@www ~]$ groups users dmtsai [dmtsai@www ~]$ touch test2 [dmtsai@www ~]$ ll -rw-rw-r-- 1 dmtsai dmtsai 0 Feb 24 17:26 test -rw-r--r-- 1 dmtsai users 0 Feb 24 17:33 test2 |
此时,dmtsai 的有效群组就成为 users 了。 我们额外的来讨论一下 newgrp 这个命令,这个命令能够变更眼下用户的有效群组, 并且是另外以一个 shell 来提供这个功能的喔,所以,以上面的样例来说, dmtsai 这个使用者眼下是以还有一个 shell 登陆的,并且新的 shell 给予 dmtsai 有效 GID 为 users 就是了。假设以图示来看就是例如以下所看到的:
尽管用户的环境配置(比如环境变量等等其它数据)不会有影响,可是使用者的『群组权限』将会又一次被计算。 可是须要注意,因为是新取得一个 shell 。因此假设你想要回到原本的环境中,请输入 exit 回到原本的 shell 喔!
既然如此,也就是说。仅仅要我的用户有支持的群组就是可以切换成为有效群组。好了, 那么怎样让一个账号增加不同的群组就是问题的所在啰。
你要增加一个群组有两个方式,一个是透过系统管理员 (root) 利用 usermod 帮你增加,假设 root 太忙了并且你的系统有配置群组管理员,那么你可以透过群组管理员以 gpasswd 帮你增加他所管理的群组中!
转载于:https://www.cnblogs.com/gccbuaa/p/7325156.html
Linux - 有效群组(effective group)与初始群组(initial group),groups,newgrp相关推荐
- Linux 的帐号与群组:有效与初始群组、groups, newgrp
关于群组: 有效与初始群组.groups, newgrp 认识了帐号相关的两个档案 /etc/passwd 与 /etc/shadow 之后,您或许还是会觉得奇怪, 那么群组的设定档在哪里?还有,在 ...
- linux添加有效群组,Linux中的有效群组和初始群组
在Linux中,每个账号都可以加入多个群组,那用户登录后默认的用的是哪个群组呢?关于这个问题就要说说有效群组和初始群组了. 在用户账号信息文件/etc/passwd中,那个由冒号分割的7个栏目中,第四 ...
- linux存储群组名称的文件是,群组管理(分组,群组密码,身份切换,常见问题)- 系统管理 -Deepin深度系统用户手册...
群组介绍 Linux中为了使用户共享文件或者其他资源方便,引入了群组的功能: Linux中每一个用户属于一个群组(group),而每一个群组(group)都有一个group标示符,即GID. 所有群组 ...
- 第5章_使用者(User)_群组(Group)_非群组外的其他人(Other)文件权限改变
1. Linux用户身份与群组相关信息 系统上账号信息 个人密码记录在/etc/shadow文件中 Linux中的组名记录在/etc/group 通过ls -al 查看文件权限,可以分别看到 文件所有 ...
- linux中mysql群集_阅读无群集可用性组中的Scale可用性组
linux中mysql群集 In this article, we will explore configuring Read Scale Availability Group that does n ...
- mysql mgr简介_mysql8.0初探:(二)MySQL Group Replication-MGR集群简介
mysql8.0初探:(二)MySQL Group Replication-MGR集群简介 发布时间:2020-06-12 23:59:17 来源:51CTO 阅读:49832 作者:arthur37 ...
- 《Linux网络管理应用 大学笔记 》- 初学者 - 用户和组的管理
Linux中用户和组的管理 了解用户和组群配置文件. 熟练掌握Linux下用户账户与密码的创建与管理. 熟悉掌握Linux下组群的创建.管理和维护 一 : 对用户账户的理解 1.系统中为什么要定义用户 ...
- Linux学习笔记——修改文件的所有者和所有组
文章目录 chown命令 chgrp 命令 chown命令 Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令. Linux/Unix 是多人多工操作 ...
- Linux: CentOS 7下搭建高可用集群
转载: http://linux.cn/article-3963-1.html 本文以两台机器实现双集热备高可用集群,主机名node1的IP为192.168.122.168 ,主机名node2的IP为 ...
最新文章
- linux php任务计划,Linux--PHP脚本的计划任务
- WordPress的默认循环
- 理解Node.js的异步非阻塞I/O模型
- cmd命令将web项目打成jar包_2020全网首发!JDK14之jpackage命令尝鲜
- 如何更改您的iPhone铃声
- P2444-[POI2000]病毒【AC自动机】
- 静态代理、动态代理、AOP
- java返回特定下标元素_java基础--输出数组中指定元素的下标
- 一道计算时间的机试题
- AcWing 902. 最短编辑距离(线性DP)
- Python 之pdb调试
- 怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?
- 【转】MFC中用CFile读取和写入文件2
- 【Java】JavaSE JDK 及离线帮助文档下载链接
- 【计算机网络】HTTP协议详解
- linux抓取vlan数据包,如何抓取 带VLAN tag的包
- 西安电子科技大学计算机考博,西安电子科技大学2017年拟录取申请考核博士生名.PDF...
- 浅析关键词密度你真的控制好了吗
- scratch的官方版本和其他的改编版本/小喵科技Kittenblock/snap!/TurboWarp
- VSCode已经设置过为中文但变成英文的解决办法