Linux 下进程权限分析

栏目: Linux · 发布时间: 8年前

内容简介:在linux下,关于文件权限,大部分人接触比较多,也比较熟悉了解.但是对进程权限一般知之甚少。本文总结一下linux系统下进程权限问题和现象。

linux 下,关于文件权限,大部分人接触比较多,也比较熟悉了解.但是对进程权限一般知之甚少。本文总结一下linux系统下进程权限问题和现象。

需要强调的是,本文是linux系统下讨论,因为linux和unix有很多不同的地方,并且各个不同的unix系统也有很多不同。

先开门见山的列出本文讨论对象:ruid(实际用户id: real userid)、euid(有效用户用户:effective userid), suid(保存用户id:saved userid)、fuid(文件系统用户id)。

除了上面4个,还涉及到一个位 设置用户id位(set user id bit),,即我们通常所说的处rwx之外那个s标志位。

另外,本文主要讨论userid,groupid规则基本一样,例如rgid, egid, sgid, fgid等,本文就不做组id方面的重复讨论了。

首先,查看这几个uid的方法有两种方式:一是ps 命令 (ps -ax -o ruid -o euid -o suid -o fuid -o pid -o fname)列出这几个uid;二是查看status文件,(cat /proc/2495/status | grep Uid)。

本文创建5个test用户 test1~test5用来做本文中sample讨论使用,代表常见普通权限用户。

一:文件所有者用户和程序执行者用户是同一用户的情况

上面是我们碰到最常见最多的情况,所以导致大部分技术人员很少关心这个四个uid的区别和含义。让我们继续看看更多场景

二、出让权限给其它用户。非root用户是无法出让权限给其它用户,只有root用户才能出让。

权限出让使用最多的场景是类似apache或 mysql 程序,启动的时候使用root用户启动,设置一些root用户才能操作的系统配置。创建子进程时候通过setuid降级为nobody用户。

继续看一下s权限位对进程权限的影响

三、s 标志位影响的是 euid,suid,和 fuid

s权限位使用最经典的案例是passwd命令

下面我们看看他们对文件权限的影响,构建一个ruid,euid,和fuid都不同,看看创建出来的文件所有者是哪个uid

四、影响用户文件权限的是 fuid,不是 euid,该 uid 是 linux 特有的属性,unix 系统是靠 euid 来判定用户权限。

五、权限的继承,当使用 fork 子进程的时候,子进程全部继承父进程四个 uid,和父进程 uid 相同

当使用exec系列函数时候,会把suid置为euid。


以上所述就是小编给大家介绍的《Linux 下进程权限分析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Building Social Web Applications

Building Social Web Applications

Gavin Bell / O'Reilly Media / 2009-10-1 / USD 34.99

Building a social web application that attracts and retains regular visitors, and gets them to interact, isn't easy to do. This book walks you through the tough questions you'll face if you're to crea......一起来看看 《Building Social Web Applications》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器