当前位置: 首页 > news >正文

怎么建设微信二维码发在网站上网站开发实施方案进度

怎么建设微信二维码发在网站上,网站开发实施方案进度,网站开发者工具的网络选项,手机网站 扁平化趋势Linux Capabilities是一种细粒度的权限管理机制,用于将root用户的特权划分为具体的功能集。它允许将部分root特权授予非root进程。 可以在shell中运行: man capabilities将显示capability man page,其中包含有关Linux功能的详细信息。 文章目录 什么是CapabilitiesLinux Cap …Linux Capabilities是一种细粒度的权限管理机制,用于将root用户的特权划分为具体的功能集。它允许将部分root特权授予非root进程。 可以在shell中运行: man capabilities将显示capability man page,其中包含有关Linux功能的详细信息。 文章目录 什么是CapabilitiesLinux Cap 分类File CapabilitiesCap管理工具libcap2-binlibcap-ng-utils Capabilities在容器中的应用Docker进程权限集获取与解析运行具有某些权限的容器 kubernetes 什么是Capabilities 对于执行权限检查, 传统的UNIX实现区分两类进程: 特权进程(其有效用户ID为0,也称为超级用户或root)和非特权进程(其有效用户ID非零)。 特权进程绕过内核的所有权限检查,而非特权进程根据进程的凭证(通常为:有效用户ID、有效组ID和补充组列表)进行完整的权限检查。 从内核2.2开始,Linux将传统上与超级用户相关联的特权分成独立的单元,称为Capability,可以独立启用和禁用。 需要注意的是功能是线程属性。 Linux Cap 分类 Linux capabilities可以分为以下几类: 文件系统相关: CAP_CHOWN - 改变文件所有权CAP_DAC_OVERRIDE - 忽略DAC权限CAP_DAC_READ_SEARCH - 忽略文件读/搜寻权限CAP_FOWNER - 忽略文件的所有权CAP_FSETID - 忽略setuid/setgid位 设备相关: CAP_MKNOD - 创建设备文件CAP_NET_ADMIN - 管理网络子系统CAP_NET_RAW - 使用RAW和底层网络协议CAP_SYS_MODULE - 插入和删除内核模块CAP_SYS_RAWIO - 执行raw I/O端口操作 进程相关: CAP_SETPCAP - 转移其他进程的capabilitiesCAP_SETUID - 设置UIDCAP_SETGID - 设置GIDCAP_SYS_ADMIN - 执行许多系统管理操作CAP_SYS_PTRACE - 跟踪其他进程CAP_SYS_CHROOT - 使用chroot限制根目录CAP_KILL - 向其他进程发送信号CAP_AUDIT_WRITE - 编写审计日志条目 系统管理: CAP_SYS_BOOT - 重新引导系统CAP_SYS_NICE - 修改进程优先级CAP_SYS_RESOURCE - 修改资源限制CAP_SYS_TIME - 修改系统时间 这只是capabilities的广义分类,某些capabilities可能属于多个类别。 基于最小特权原则一个可执行文件可按需选择其中某些能力而不是获取全部。 File Capabilities 自内核2.6.24起,内核支持使用setcap(8)将功能集与可执行文件相关联。文件功能集存储在名为security.capability的扩展属性中(请参阅setxattr(2))。写入此扩展属性需要CAP_SETFCAP功能。文件功能集与线程的功能集一起确定execve(2)后线程的功能。 文件功能比传统的setuid和setgid机制更加精细和灵活。 在引入文件功能(File Capabilities)之前,setuid为0的程序会授予执行它的进程全部特权。 Cap管理工具 libcap2-bin 功能很重要,因为允许决定进程所需的功能,而不是给予它完全访问权限 - 即使它并不需要。 功能特性于1999年在2.2内核中引入,但当时仅限于进程。2008年,功能也引入到文件中。 需要安装libcap2-bin 获取和设置功能的两个基本命令是setcap和getcap。getcap获取功能列表,而setcap用于为可执行文件设置特定功能。 请注意,要使用setcap, 必须传递原始文件,而不是符号链接文件。Linux中的符号链接是指向另一个文件的特殊文件。 设置功能 $ sudo setcap cap_net_bind_serviceep /path/to/the/file 获取功能 $ sudo getcap /path/to/the/filelibcap2-bin附带了其他工具,包括capsh和getpcaps。 capsh也用于获取功能,帮助解码功能集。getpcaps在检查Linux进程的功能时很有用。 举例说明,以ping为例。它需要打开原始套接字。只有root用户可以打开原始套接字或小于1024的端口。 我们如何为特定进程提供必要的功能? 答案是使用setcap来为可执行文件设置特定的Linux功能。 为ping设置特定的net_raw功能: $ sudo setcap cap_net_rawep ping 总而言之,功能涉及将root特权分成不同的级别,并帮助您为每个进程提供特定的功能。 例如: CAP_CHOWN 更改文件的所有权。它允许root随意更改文件UID和GID。CAP_KILL 杀死系统中正在运行的任何进程。CAP_NET_BIND_SERVICE 允许您打开小于1024的端口,即使进程不是以root用户运行。 libcap-ng-utils 在处理功能时,另一个非常有用的软件包名为libcap-ng-utils,它带有netcap、filecap和pscap工具。这些工具在处理Linux中的功能时非常有用。 filecap查看可执行文件的所有功能。netcap为通过TCP、UDP等在网络上通信的进程提供功能报告。pscap查看正在运行的进程的功能 要安装libcap-ng-utils 以CentOS 7为例 yum -y install libcap-ng-utilsCapabilities在容器中的应用 Docker 默认情况下,容器在启动时会获得容器运行环境提供的某些默认功能。像Docker这样的工具为您提供了根据需求添加和删除功能的灵活性。要理解这一点,您需要知道您的容器为正常工作所需的功能,否则将无法达到预期效果。 例如,让我们运行一个busybox容器并检查运行该进程所具有的功能。 busybox容器基于busybox镜像,是一个轻量级容器,内置许多常用的UNIX实用工具,如awk、grep和tar。 docker run --rm -it busybox sleep 1h 要获取正在运行的容器的PID,您可以使用docker inspect container-id。PID代表进程ID。它是在Linux系统上运行的每个进程的唯一数字ID。 $ docker inspect 7666636cd08c | grep -i PID Output Pid: 23764,PidMode: ,PidsLimit: null,进程权限集 有五种不同类型的进程权限集。让我们理解每个权限所代表的含义: CapInh(Inherited capabilities)是从运行的父进程传递到其子进程的权限。CapPrm(Permitted capabilities)是进程允许拥有的权限。CapEff(Effective capabilities)集是当前进程执行的所有权限。CapBnd(Bounding capabilities)集是进程允许拥有的最大权限集。CapAmb(Ambient capabilities)集包括当前生效的权限。它可以在以后应用于当前进程或其子进程。 在本文中,将重点关注有效权限集。大部分时候,会使用有效权限。 获取与解析 要获取容器的进程权限集, 运行以下命令: $ grep Cap /proc/container-pid/status CapInh: 00000000a80425fb CapPrm: 00000000a80425fb CapEff: 00000000a80425fb CapBnd: 00000000a80425fb CapAmb: 0000000000000000这个输出不可读,所以要读取这个输出,需要使用来自libcap2-bin软件包的二进制文件capsh。 此时,确保已安装libcap2-bin软件包。要解码有效权限,获取CapEff:之后写入的文本,并使用以下命令,应该会看到如下输出: $ capsh --decode00000000a80425fb 0x00000000a80425fbcap_chown,cap_dac_override,cap_fowner, cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap, cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_mknod, cap_audit_write,cap_setfcap输出显示进程具有不同的权限。例如, cap_chown权限使程序有权更改文件的所有者或目录的所有者。chown命令使用此权限。 类似地,如果要进程打开/监听小于1024的端口,可以使用cap_net_bind_service,它允许进程绑定到小于1024的端口。 如果有进程的PID,也可以使用getpcaps获取进程的权限: getpcaps 23808运行具有某些权限的容器 现在,让我们尝试理解如何运行具有某些权限的容器。如果使用docker,可以使用--cap-add添加权限和--cap-drop放弃权限。例如,如果要运行有sys_admin权限的容器并放弃其他所有权限,可以如下: $ docker run --rm --cap-dropall --cap-addsys_admin \ -it busybox sleep 1h 请注意,如果要添加或删除多个权限,必须再次添加相同的标志。 例如,如果要运行一个容器,放弃所有权限, 只使用SYS_ADMIN和NET_ADMIN权限,需要使用--cap-add标志两次。 $ docker run --rm --cap-dropall --cap-addsys_admin \ --cap-addnet_admin -it busybox sleep 1h kubernetes 如何在Pod中设置正确的权限 通过在Kubernetes清单中使用SecurityContext,可以在容器中设置权限。让我用一个示例清单说明: apiVersion: v1 kind: Pod metadata: name: pod spec: containers: - command: - sleep - 100000 image: ubuntu name: ubuntu-pod securityContext: privileged: false capabilities: drop: - ALL add: - SYS_ADMIN - NET_ADMIN上述Kubernetes清单将创建一个具有Ubuntu镜像的Pod,并且只有两个权限:SYS_ADMIN和NET_ADMIN。在上述清单中,我们放弃了所有其他权限。 这比运行privileged: true的Pod要好得多,后者将添加所有Linux权限,约37个。 SYS_ADMIN几乎相当于授予容器root级访问权限,如果不需要,应避免使用。如果查看权限的手册页,则SYS_ADMIN也称为新的root。与SYS_ADMIN类似,NET_ADMIN允许您在系统上执行所有特权网络操作。 在Kubernetes中使用权限时,应该在前缀中放弃CAP这个词。 即使使用多容器Pod,也可以在每个容器中设置SecurityContext。您也可以使用工具(如tracee、inspektor-gadget和其他eBPF工具)来跟踪容器的权限。如果您不确定应用程序所需的权限,这将很有用。
http://www.hkea.cn/news/14260629/

相关文章:

  • 大名县建设局网站wordpress制作rss
  • 电商网站建设 解决方案的设计北京网站维护公司
  • 威海网站定制宁波制作手机网站
  • 携程电子商务网站建设重庆seo公司
  • 数据型网站 建设方案广告制作公司网站建设模板
  • 三门峡建设环境局网站项目网加盟
  • 网站开发总监待遇yellow在线观看完整版视频
  • 天津网站建设技术托管阿里云安装wordpress出错求解
  • 荣耀手机商城官方网站网站虚拟主机内存不足能不能链接
  • 蓝韵官方网站乐陵网站优化
  • 怎么自己编写网站国内做的好的电商网站有哪些
  • 佛山新网站建设效果下载手机微信
  • 谁有做爰网站号成都建筑设计公司排名
  • 能免费建手机网站吗物联网网站开发
  • 企业网站主页素描模板办文明网站做文明网民活动方案
  • 大连建设网站制作营销策划书模板
  • 建站网站 国外平台公司转型
  • 官方网站建设哪儿有网站seo知识
  • 网站建设最新外文翻译kj6699的seo综合查询
  • 用jquery做网站信息安全工程师含金量
  • t恤在线制作网站个人建设网站论文
  • 衡水网站制作公司wordpress男性主题
  • 建设一个网站需要注意哪些内容一级消防工程师考试报名
  • 重庆网站制作一般多少钱长沙房产网官网
  • 有什么ae做动图的网站做电容元器件的网站有哪些
  • 自己怎么做电影网站做企业官网的步骤
  • 中小企业网站制作方法备案网站名称与实际网站名称不一致
  • 国内网站建设网站排名百度平台app
  • excel做网站小米wifi设置网址入口网站
  • 百度地图 企业网站一个可以做行程的网站