Linux系统编程:(5)进程凭证

本文介绍了Linux系统中进程凭证的概念,包括实际用户ID、组ID、有效用户ID和有效组ID,并阐述了set-user-ID和set-group-ID程序的工作原理。同时,讨论了如何获取和修改进程凭证,提到了相关系统调用如setuid、setgid、seteuid和setegid的使用限制及其在特权进程与非特权进程中的不同行为。
摘要由CSDN通过智能技术生成

一、进程凭证

每个进程都有一套用数字表示的用户ID(UID)组ID(GID),有时将这些ID称之为进程凭证,具体如下图所示:
在这里插入图片描述
1. 实际用户ID和组ID
实际用户ID和组ID确定了进程所属的组,标识我是谁。

2.有效用户ID和有效组ID
当进程尝试执行各种系统调用的时候,将结合有效用户ID有效组ID辅助ID来确定赋予进程的权限。
例如,当进程访问一些文件、进程间通信对象之类的系统资源时,有效用户ID和有效组ID会决定系统授予进程的权限,这些资源的属主则是由上述所介绍的实际用户ID和实际组ID来决定。

有效用户ID为0的进程拥有超级用户的所有权限,这样的进程称之为特权进程。如果只是为了使进程可以执行某个或某些系统调用而将进程的有效用户ID置为0是非常不安全的,因为root的权限分为很多种,仅为了某一个访问权限而给予别人一切权限,这样使得攻击面变得很大,系统很不安全。

后续会讲到Linux Capability方案,将root权限切割成更细粒度的小权限,对于进程来说可以单独启用或者禁用某个或者某些权限。

3.Set-User-ID和Set-Group-ID程序
set-user-ID程序会将进程的有效用户ID置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值