linux下进程的实际用户ID(有效组)和有效用户ID(有效组ID)
实际用户ID(实际组ID):标识当前用户(所属组)是谁,当用户登陆时取自口令文件。
有效用户ID(有效组ID):用来决定我们(当前进程)对文件的访问权(即实际该进程的是以那个用户运行的)。
一般情况下,进程的有效用户ID等于进程的实际用户ID,进程的有效用户组ID等于进程的实际用户组ID。
但是当可执行程序文件的文件模式(st_mode)中设置了“设置-用户-ID(set_user_id)位”时,进程的有效用户ID等于该可执行文件的拥有者ID。
同样的如果可执行文件的文件模式(st_mode)中设置了“设置-组-ID(set-group-d)位”时,进程的有效用户组ID等于该可执行文件的拥有组ID例如:
现在有两个可执行文件test,passwd,其中passwd是linux系统自带的修改密码程序(linux下在/usr/bin目录下),test是我自己编写的测试程序,只是一个无限循环代码如下:
1 #include <stdio.h>
2
3 int main(){
4 while(1){
5 ; //空语句用于实现无限循环
6 }
7 return 0;
8 }
用ls -l查看这两个文件的详细信息如下:
从图中可以看到test文件的拥有ID和组ID都为zzg(我的登陆账号),passwd文件的拥有者ID和组ID都为root,且由命令提示符可以看出现在我是以zzg用户登陆的,或者用命令id来查看shell下当前用户的用户ID和组ID:
即当前的实际用户ID和实际用户组ID都为zzg。
现在分别运行test程序和passwd程序,然后在另一个终端下用ps命令查看test的有效ID和有效ID,如下:
运行程序
ps输出
由图可知
test实际是以用户ID:zzg,组ID:zzg来运行的,即对PID=8442的进程来说:
它的实际用户ID为zzg
它的有效用户ID为zzg
它的实际用户组ID为zzg
它的有效用户组ID为zzg
passwd实际是以用户ID:root,组ID:zzg来运行的,即对PID=8444的进程来说:
它的实际用户ID为zzg(由于是当前用户是zzg)
它的有效用户ID为root
它的实际用户组ID为zzg
它的有效用户组ID为zzg
下面让我们再来看这两个文件的详细信息
从图中可以看出passwd的设置了“设置-用户-id”位(第四位上的‘s’,为设置该为的标志),但是没有设置“设置-组-id”位,
所以会出现以上的情况,即对PID=8444的进程来说,有效用户ID等于passwd的拥有者ID(root),有效用户组ID等于运行该程序的实际用户组ID(zzg)。
同样可以看出test的"设置-用户-ID"位,"设置-组-ID"位都没有设置,所以对PID=8442的进程来说,有效用户ID和有效用户组ID分别等于运行该程序的实际用户ID,实际用户组ID。
最新文章
- dp和px转换
- 关于StdAfx.h和StdAfx.cpp
- 201521123024 《Java程序设计》第5周学习总结
- Shell编程基础篇
- webp图片实践之路(转载)
- SonarQube安装文档
- java web(一):tomcat服务器的安装和简单介绍,与eclipse关联
- [转]Python依赖打包发布详细
- base64加密和解码原理和代码
- docker 给运行的容器映射本地端口
- 【Selenium-WebDriver自学】Selenium-IDE用户扩展(七)
- (原)ubuntu挂载及开机自动挂载网络端的文件夹的方法
- 标准SQL资料整理
- 【LeetCode43】 Multiply Strings
- 单点登录 之 OAuth
- DateReader读取数据
- MySQL集群系列2:通过keepalived实现双主集群读写分离
- PL/SQL 训练11--包
- 简单使用c3p0连接池
- Android View中滚动相关
热门文章
- eclipse 统一设置编码_项目工程统一设置成utf8编码_eclipse代码规范
- 关于“No loop matching the specified signature and casting was found for ufunc lstsq_n”问题的解决
- 使用 Loki 进行日志报警(二)
- CentOS无法识别NTFS格式U盘完美解决方案
- Linux Hardening Guide
- Fluentd部署详解
- MySQL学习(2)---MySQL数据类型
- a除于b
- vue中a标签地址传参
- 【论文翻译】KLMo: Knowledge Graph Enhanced Pretrained Language Model with Fine-Grained Relationships