POSIX 文件能力:分配根用户的能力

Linux® 多年来都使用能力(capability)的概念,但是最近实现了 POSIX 文件能力。POSIX 文件能力将根用户的权力划分成更小的特权,比如读取文件或跟踪另一个用户拥有的进程。通过为文件分配能力,可以让非特权用户能够用这些指定的特权执行文件。在本文中,了解程序如何使用能力,以及如何改变系统 setuid root 二进制代码来使用文件能力。 

一些程序需要以非特权用户的身份执行特权操作。例如,passwd 程序经常对 /etc/passwd/etc/shadow 文件执行写操作。在 UNIX® 系统上,这种控制是通过设置二进制文件上的 setuid 位实现的。这个位告诉系统,在运行这个程序时,无论执行它的用户是谁,都应该把它看作属于拥有这个文件的用户(通常是根用户)。因为用户不能编写 passwd 程序,而且它对允许用户执行的操作有严格限制,所以这个设置常常是安全的。更复杂的程序使用保存的 uid 在根用户和非根用户之间来回切换。

POSIX 能力将根特权划分成更小的特权,所以可以只用根用户特权的一个子集来运行任务。文件能力特性可以给一个程序分配这样的特权,这大大简化了能力的使用。在 Linux 中已经可以使用 POSIX 能力了。与将用户切换为根用户相比,使用能力有几个好处:

本文转自: IBM developerWorks 中国
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值