美文网首页
Linux Capabilities

Linux Capabilities

作者: 潘猛_9f76 | 来源:发表于2019-04-12 11:54 被阅读0次

6Linux Kernel 从 2.2 版本开始,提供了 Capabilities 功能,它把特权划分成不同单元,可以只授权程序所需的权限,而非所有特权。常见的Capabilities 功能有:

CAP_CHOWN:修改文件属主的权限

CAP_DAC_OVERRIDE:忽略文件的DAC访问限制

CAP_DAC_READ_SEARCH:忽略文件读及目录搜索的DAC访问限制

CAP_FOWNER:忽略文件属主ID必须和进程用户ID相匹配的限制

CAP_FSETID:允许设置文件的setuid位

CAP_KILL:允许对不属于自己的进程发送信号

CAP_SETGID:允许改变进程的组ID

CAP_SETUID:允许改变进程的用户ID

CAP_SETPCAP:允许向其他进程转移能力以及删除其他进程的能力

CAP_LINUX_IMMUTABLE:允许修改文件的IMMUTABLE和APPEND属性标志

CAP_NET_BIND_SERVICE:允许绑定到小于1024的端口

CAP_NET_BROADCAST:允许网络广播和多播访问

CAP_NET_ADMIN:允许执行网络管理任务

CAP_NET_RAW:允许使用原始套接字

CAP_IPC_LOCK:允许锁定共享内存片段

CAP_IPC_OWNER:忽略IPC所有权检查

CAP_SYS_MODULE:允许插入和删除内核模块

CAP_SYS_RAWIO:允许直接访问/devport,/dev/mem,/dev/kmem及原始块设备

CAP_SYS_CHROOT:允许使用chroot()系统调用

CAP_SYS_PTRACE:允许跟踪任何进程

CAP_SYS_PACCT:允许执行进程的BSD式审计

CAP_SYS_ADMIN:允许执行系统管理任务,如加载或卸载文件系统、设置磁盘配额等

CAP_SYS_BOOT:允许重新启动系统

CAP_SYS_NICE:允许提升优先级及设置其他进程的优先级

CAP_SYS_RESOURCE:忽略资源限制

CAP_SYS_TIME:允许改变系统时钟

CAP_SYS_TTY_CONFIG:允许配置TTY设备

CAP_MKNOD:允许使用mknod()系统调用

CAP_LEASE:允许修改文件锁的FL_LEASE标志

1、命令使用方法setcap

<capability>=eip <your file here>

eip是将能力以cap_effective(e),cap_inheritable(i),cap_permitted(p)三种位图的方式授权给相关的程序文件.e表示具有的能力、i表示可以继承使用的能力、p表示可以使用的能力

2、通过授权CAP_NET_BIND_SERVICE使普通用户拥有绑定1024以内端口的权限

2、查看进程相关cap信息,可以看到第10个bit是1,这里没有继承的能力

注意:

这种授权只能用于二进制程序,不能用于脚本

不能授权给链接文件

权限移除后对当前已经在运行的进程无影响

命令可以只授权给p,不授权给e,然而并没有什么用

相关文章

网友评论

      本文标题:Linux Capabilities

      本文链接:https://www.haomeiwen.com/subject/ojzqwqtx.html