正在加载
请稍等

菜单

红楼飞雪 梦

15526773247

文章

Home android 嵌入式开发 进程的权能
Home android 嵌入式开发 进程的权能

进程的权能

android 嵌入式开发, linux开发学习 by

Linux用“权能(capability)”表示一进程所具有的权力。一种权能仅仅是一个标志,它表明是否允许进程执行一个特定的操作或一组特定的操作。这个模型不同于传统的“超级用户对普通用户”模型,在后一种模型中,一个进程要么能做任何事情,要么什么也不能做,这取决于它的有效UID。也就是说,超级用户与普通用户的划分过于笼统。如表给出了在Linux内核中已定义的权能。

名字 描述
CAP_CHOWN 忽略对文件和组的拥有者进行改变的限制
CAP_DAC_OVERRIDE 忽略文件的访问许可权
CAP_DAC_READ_SEARCH 忽略文件/目录读和搜索的许可权
CAP_FOWNER 忽略对文件拥有者的限制
CAP_FSETID 忽略对setid和setgid标志的限制
CAP_KILL 忽略对信号挂起的限制
CAP_SETGID 允许 setgid标志的操作
CAP_SETUID 允许 setuid 标志的操作
CAP_SETPCAP 转移/删除对其它进程所许可的权能
CAP_LINUX_IMMUTABLE 允许对仅追加和不可变文件的修改
CAP_NET_BIND_SERVICE 允许捆绑到低于1024TCP/UDP的套节字
CAP_NET_BROADCAST 允许网络广播和监听多点传送
CAP_NET_ADMIN 允许一般的网络管理。
CAP_NET_RAW 允许使用RAW和PACKET套节字
CAP_IPC_LOCK 允许页和共享内存的加锁
CAP_IPC_OWNER 跳过IPC拥有者的检查
CAP_SYS_MODULE 允许内核模块的插入和删除
CAP_SYS_RAWIO 允许通过ioperm( ) 和 iopl( )访问I/O端口
CAP_SYS_CHROOT 允许使用chroot( )
CAP_SYS_PTRACE 允许在任何进程上使用 ptrace( )
CAP_SYS_PACCT 允许配置进程的计账
CAP_SYS_ADMIN 允许一般的系统管理
CAP_SYS_BOOT 允许使用reboot( )
CAP_SYS_NICE 忽略对 nice( )的限制
CAP_SYS_RESOURCE 忽略对几个资源使用的限制
CAP_SYS_TIME 允许系统时钟和实时时钟的操作
CAP_SYS_TTY_CONFIG 允许配置tty设备

 

任何时候,每个进程只需要有限种权能,这是其主要优势。因此,即使一位有恶意的用户使用有潜在错误程序,他也只能非法地执行有限个操作类型。

例如,假定一个有潜在错误的程序只有CAP_SYS_TIME权能。在这种情况下,利用其错误的恶意用户只能在非法地改变实时时钟和系统时钟方面获得成功。他并不能执行其它任何特权的操作。

 

11 2015-09

 

我要 分享

 

 

本文 作者

 

相关 文章