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 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
上一篇:window与linux项目部署之linux文件路径不存在问题
栏 目:Linux/apache
本文地址:https://www.xiuzhanwang.com/a1/Linux_apache/10689.html
您可能感兴趣的文章
- 04-02linux关闭串口命令 关闭linux端口命令
- 04-02linux文件命令重命名 linux重命名文件名命令
- 04-02linux命令注入过滤 linux 代码注入
- 04-02linux中jobs命令 shell jobs命令
- 04-02linux依次执行命令 linux命令的执行过程是怎样的?新手必读
- 04-02linux命令免输入 linux配置免密登录
- 04-02linux命令注销vnc linux命令行注销用户
- 04-02软交换linux命令 软交换网络主要协议有哪些
- 04-02linux命令历史记录 linux查看历史记录的操作命令
- 04-02linux命令页面 linux命令页面中文
阅读排行
本栏相关
- 04-02linux关闭串口命令 关闭linux端口命令
- 04-02linux文件命令重命名 linux重命名文件名
- 04-02linux中jobs命令 shell jobs命令
- 04-02linux命令注入过滤 linux 代码注入
- 04-02linux依次执行命令 linux命令的执行过程
- 04-02linux命令注销vnc linux命令行注销用户
- 04-02linux命令免输入 linux配置免密登录
- 04-02软交换linux命令 软交换网络主要协议
- 04-02linux命令历史记录 linux查看历史记录的
- 04-02linux命令页面 linux命令页面中文
随机阅读
- 01-11ajax实现页面的局部加载
- 01-10delphi制作wav文件的方法
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-10C#中split用法实例总结
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10SublimeText编译C开发环境设置
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 04-02jquery与jsp,用jquery