时间:2015-04-27 来源:

Typeenforcement(类型强制访问控制) 【移动开发】

(一)、简介

下面我们看一下第二条allow规则:

注意: 在类型标识符名称中psd切图html,_t是没有特殊意义的.这个仅仅是被用在大多数SELinux策略中的一个命名习惯;只要符合策略语言的语法,psd切图html策略定义者就可以定义任何符合规范的名称.

这条规则提供了访问passwd_t域的入口点(entrypoint).entrypoint是在SELinux中相当有价值的权限.该权限所做的就是定义哪一个可执行文件(因此,团队网页接活哪一个程序)可能会进入一个域.对于一个域过渡来说,div切图排版新的或者是”to-be-entered”(将要被进入的)域(在这个例子中div页面,用于过渡到新的域标识.在这个例子中div+css+js切图,仅仅标识passwd_t有passwd_exec_t的entrypoint权限承接网站前端,这样就仅仅password程序能够运行在passwd_t域标识中.这是一个非常强大的安全控制.

现在问题就是joe如何表明自己想要进行域转换.上述的规则仅仅是允许域转换,页面div重构他们不会命令他.有一些方式能使程序设计人员或者是用户能够明确的要求域转换(如果被允许的话).joe所想要做的就是运行密码文件psd切图html,他希望系统能够确保他能够执行.我们需要一种方式来使系统能够默认初始化一个域转换.

检查在表figure 2-2中的allow规则,psd切图html这个规则的目的是给进程标识符(passwd_t)能够访问shadow文件标识符的权限web外包,该权限能够允许进程移动或者是创建一个shadow密码文件.所以,web外包再重新审视一下figure 2-2,杯描述的运行密码程序的进程能够成功的管理shadow密码文件,div页面因为他有有效的超级用户的用户ID(root)(在标准linux中的访问控制),并且因为TE的allow规则允许他对shadow密码文件标识符有充足的访问权限(在SELinux中的访问控制).这两者是必要条件,div+css+js切图但不是充分条件.

在SELinux中承接网站前端,所有的访问都要被明确的同意.SELinux默认的是没有访问,承接网站前端不管Linux的用户ID和组ID是什么.是的psd切图html,这就意味着在SELinux中没有默认的超级用户,承接网页制作不像在标准Linux中的root用户.被同意的访问的方式是由主体的类型(也就是域)和客体的类型使用一个allow规则指定的.一个allow规则有四个元素: 1:source type(s),要被进程访问的客体的类型 3:object class(es),主体访问客体类别的访问方式

现在我们的例子更加复杂.我们详细的了解一下这个图.首先注意到的是我们已经添加了之前展示的三个类型div+css+js切图,密码程序的域标识(passwd_t),以及shadow密码文件标识(shadow_t).除此之外,承接网站前端我们也为passwd可执行文件添加了文件标识(passwd_exec_t).例如psd切图html,列举在磁盘上的密码程序的安全上下文,psd切图html将会得到下面的结果.

1:进程新的域标识有对可执行文件标识的entrypoint权限 2:进程当前(或者是过去的)域标识有对入口点文件标识的execute权限 3:进程当前的域标识有对新的域标识的transition的权限

2.2.4 域转换

同样web外包,在这种策略下,div切图排版检查一个运行在密码程序中的进程网页切图制作,将会显示这样的信息: #ps -Z joe:user_r:passwd_t 16532 pts/0 00:00:00 passwd

正如刚刚显示在figure 2-2的图中,手机页面切图排版allow规则能够确保passwd进程域类型(passwd_t)能够访问shadow密码文件.然而div+css+js切图,我们依然存在刚刚描述的域转换问题.提供安全的域过渡 和setuid程序的概念是相似的,div+css+js切图但是是在TE机制下进行的.为了阐述承接网站前端,我们采用setuid的例子并添加上TE.

这条规则是允许joe的shell(user_t)初始化一个在passwd可执行文件(passwd_exec_t)的execve()系统调用.SELinux的execute文件权限在本质上是和标准linux文件的x访问权限是一样的.(shell在尝试运行之前会统计文件,页面div重构所以也需要getattr权限)回顾一下关于shell程序是如何工作的描述.首先psd切图html,他先fork一个自己的拷贝,psd切图html包括完全相同的安全属性.这个拷贝依然保持着joe的shell原始的域标识(user_t).因此web外包,execute权限一定要指向原始域(也就是说,web外包shell的域标识).这就是为是么user_t是这条规则的源标识.(Source type)

注意关于这个列表的两个事情.首先就是在x点处s的所有者权限.这就是所谓的setuid位网页切图制作,这就意味着对于任何执行这个文件的进程来说,div页面他的有效的UID(也就是div+css+js切图,用于访问控制抉择的用户ID)将会被改变成文件的所有者.在这个例子中,div+css+js切图root是文件的拥有者承接网站前端,因此,承接网站前端可运行的密码程序将会一直以有效的root的用户ID运行.下面的图展示了这个流程.

# ls -Z /etc/shadow -r—- root root system_u:object_r:shadow_t shadow

我们不希望joe的不可信的域类型user_t有直接读或者是写shadow密码文件的能力psd切图html,因为这将可能会使任何程序(包括joe的shell程序)能够查看或者是修改重要文件的内容.正如在之前讨论的,承接网页制作我们希望只有密码程序web外包,并且该密码程序仅仅以域类型passwd_t运行的时候才有这样的访问权限.那么问题来了,web外包如何能够提供一套安全可靠的网页切图制作,我们需要介绍一个新的规则div+css+js切图,type transtion规则(type_transtion).这个规为SELinux策略提供了一种方式,网页重构报价如果一个明显的转换没有被要求的话承接网站前端,需要指定一个应该被尝试的默认的转换.我们来为allow规则添加下面一个tyoe transition规则:

就现在来说,承接网站前端你可以先忽略安全上下文中的用户和角色元素psd切图html,只关注标识符.

2.2.2 域转换的问题

2.2.5 默认的域转换 : type_transition 语句

在讨论如何处理域转换的问题之前,psd切图html我们先来回顾一下在标准linux中相似的问题是怎样被处理的web外包,也就是如何提供给joe一种安全修改他的密码的方式.在Linux中处理这种问题的方式就是通过给passwd设置用户标识符(setUid)到root程序.如果你在典型的linux系统中,div切图排版列出密码程序的文件网页切图制作,你将会看到下面的形式

setuid位的使用在构建在类unix操作系统中,手机页面切图排版并且是一个简单并且强大的特征.然而div+css+js切图,他也阐释了标准linux安全方面主要的缺陷.密码程序需要以root用户的方式去访问shadow文件.然后,div+css+js切图当以root用户运行的时候承接网站前端,密码程序同样也能够访问任何系统资源.这同样也违反了安全工程学的核心原则-最少权限.因此,页面div重构我们必须信任密码程序不会在系统上采取其他可能的行动.对于真正的安全应用来说psd切图html,密码程序需要大量的代码审核以确保他不会滥用他的权限.进一步来说,psd切图html当始料未及的错误发生在密码程序当中的时候web外包,他可能就造成能够安全漏洞,web外包该漏洞远远超过访问shadow密码文件所造成的损失.虽然密码程序是比较简单和高度可信的网页切图制作,那么考虑一下其他程序(包括登录程序)如果以root用户运行的话,div页面会怎么样呢?

SELinux的allow规则div+css+js切图,例如上面提到的那个例子,div+css+js切图在SELinux中用来同意访问.面临的问题就是承接网站前端,在决定成千上万的访问,承接网站前端只能允许必要的访问的时候psd切图html,还能使系统正常的工作,承接网页制作使其尽可能的安全.

(二)、类型强制机制举例

当joe运行密码程序的时候web外包,并且依然运行shell程序.然后网页切图制作,在被创建之后,手机页面切图排版新的进程将会执行execve()系统调用来运行密码程序.同时在标准linux中要求进程要对程序有可执行的权限(x),在这个例子中是正确的,网页重构报价因为任何人对该密码文件都有可执行权限.在成功执行完execve()调用后会发生两个关键的事情.第一个就是运行的新进程中的shell程序将会被密码程序替换.其二承接网站前端,由于setuid为被设置成了文件拥有者,承接网站前端那么有效的用户ID从进程原来的ID改变成文件拥有者的ID(在这个例子中就是root).因为root能够访问任何文件psd切图html,现在密码程序就能够访问shadow密码文件并且能够处理来自joe的修改密码的请求了.

如果我们需要做的事情就是允许一个进程来访问客体,psd切图html例如文件web外包,那么编写一个TE策略将会是简单的.但是我们必须需要弄清楚,div切图排版如何确保一个正确的程序运行在一个有正确域类型的进程上面.例如网页切图制作,有一个程序以某种方式使用passwd_t域类型运行在进程中,手机页面切图排版但是这个程序是不可信的div+css+js切图,我们不想他去访问我们的shadow密码文件.这可能是灾难性的.这个问题会带给我们域类型转换的问题.

当在TE策略中这三个所有的权限都被同意了,div+css+js切图一个域转换才会发生.进一步讲承接网站前端,对在可执行文件entrypoint权限的使用,页面div重构我们就有能力去严格控制哪一个程序能够运行在给定的域标识上.execvte()系统调用时改变域标识的唯一的方式psd切图html,让策略定义者来控制个人程序的访问权限,psd切图html而不管调用程序的用户是谁.

type_transition规则用于与默认标识该表相关的多个不同的目标.就现在来说web外包,我们关心的是有process作为他的客体类的type_transitin.这样的规则导致一个要尝试的默认的域转换.type_transition显示出,web外包默认情况下网页切图制作,在一个exece()系统调用中,div页面如果一个调用的进程的域标识为user_t,一个域转换到一个新的域(passwd_t)将会被尝试.

现在我们看一下最后一个规则:

为了更加深入的探索TE机制承接网站前端,我们来举一个密码管理程序(也就是passwd)的例子.在linux中,承接网站前端读取或者是修改shadow密码文件(/etc/shadow)是值得信赖的psd切图html,在shadow文件中,承接网页制作被加密的密码保存在里面.密码程序实现了他自己内部的安全策略web外包,允许普通的用户只能修改他们自己的密码,web外包然而允许超级用户修改任何密码.为了完成这项可以信赖的工作网页切图制作,密码程序需要有移动和重新创建shadow文件的能力.在标准Linux中,手机页面切图排版他有这个特权div+css+js切图,因为密码程序可执行文件有setuid位集合,网页重构报价所以承接网站前端,当他被其他人执行的时候,承接网站前端也会以超级用户运行的(他能够访问任何文件). 然而psd切图html,很多程序能够以超级用户的身份运行(事实上,psd切图html所有的程序都有可能以超级用户的身份运行).也就是说web外包,任何以超级用户的身份运行的程序都有可能修改shadow密码文件.TE机制让我们做的就是确保只有密码程序(或者是相似的可以信任的程序)才能够访问shadow文件,div切图排版不管运行该程序的用户是谁.

警告: entrypoint权限的概念是非常重要的.如果你不能完全理解前述的例子网页切图制作,请在继续向下阅读之前重新读一遍.

这个例子展示了TE allow规则的基本语法.这个规则有两个类型标识符:源类型(或者是主体,手机页面切图排版或者是域),bin_t.标识符file是一个被定义在策略中的对象类型的名称(在这个例子中承接网站前端,代表着一个二进制文件).在花括号中的permissions是一个文件对象类别有效的permission的子集合.这条规则的翻译是: 类型标识符是user_t的一个进程能够一个类型标识符为bin_t的文件对象进行读,页面div重构执行或者是获取属性.

现在哦我们就有足够的信息来创建TE策略规则来允许密码程序以passwd_t为域标识运行.我们来看看上图中的规则.第一条规则:

通过这个章节psd切图html,我们经常会使用一些符号来描述允许的访问:圆代表进程,psd切图html盒子代表客体web外包,箭头代表允许访问.例如,web外包下面这个图描述了被上一个allow规则允许的访问.

我们真正喜欢的方式就是网页切图制作,确保密码程序和其他任何一定要有权限的程序有最少的权限.简单的说,div页面我们希望密码程序仅仅能够访问shadow文件和其他一些与密码相关的文件以及必要的最小系统资源.同时我希望确保除了密码程序其他程序都不能访问shadow密码文件.以这样的方式div+css+js切图,当为用户账户管理评估安全问题的时候,div+css+js切图我们仅仅需要密码程序(或者是相似的程序)在管理用户账户方面所扮演的角色而不必考虑我们自己的其他程序、

2.2.3 回顾一下标准Linux安全中的setUID程序

假设承接网站前端,user_t是一个普通的,承接网站前端没有特权的用户进程(例如一个登陆shell进程)的域类型psd切图html,bin_t是一个用户必须要有特有的安全特权才能运行的可执行程序(例如,承接网页制作/bin/bash)的标识符web外包,该规则可能就允许用户来执行shell程序,web外包例如bash shell.

在这个例子中网页切图制作,我们定义了两种类型.passwd_t是被密码程序所使用的一个域类型.shadow_t标识符是shadow密码文件的标识符.如果我们检查在磁盘上这样的一个文件,手机页面切图排版我们将会看到下面的信息:

为了阐述清楚div+css+js切图,在该图中承接网站前端,我们详细阐述了以前的密码程序的例子.在这个典型的系统中,承接网站前端一个用户(叫做joe)通过登录进程登录系统psd切图html,一个shell进程杯创建(例如,psd切图html运行bash).在标准linux安全中web外包,真实有效的用户IDS(也就是joe)是一样的.在我们例子SELinux策略中,div切图排版进程类型是user_t,user_t就是适用于普通的,手机页面切图排版不可信的用户进程的域类型.当joe的shell运行其他程序的时候div+css+js切图,除非采取了一些其他的行为.那么承接网站前端,joe如何修改密码呢?

这三个规则一块提供了域转换发生的必要条件.为了能使一个域转换成功,页面div重构所有的这三个条件必须得满足.因此psd切图html,当下列的三个条件都满足的时候,psd切图html一个域转换才被允许.

type_transition规则允许策略定义者在没有明确的用户输入的时候web外包,默认初始化一个域转换.这使得TE机制不会让用户感到很强制.在我们例子中,web外包joe不想知道任何关于访问控制和标识的事情;他想要去修改密码.系统和策略定义者可以使用type_transition规则来为用户执行这些转换.

注意: 一定要记住网页切图制作,一个type_transition规则会导致一个默认的域转换尝试,div页面但是他不会允许他.为了能够保证域转换的成功完成div+css+js切图,你依然需要提供域转换所必须的三个标识,div+css+js切图无论他是默认初始化的还是作为一个用户明确的要求发生的.

举个例子承接网站前端,下面的规则: allow user_t bin_t : file {read execute getattr};

这是第一条我们所见到的不提供对文件客体访问的allow规则.在这个实例中,承接网站前端客体类是process,也就是代表进程的对象类.回顾一下所有的系统资源都被封装在客体类中.这个概念也适用于进程.在最后一条规则中,承接网页制作权限是transition访问.这个权限进程的安全上下文的标识发生改变.原始的标识(user_t)一定要有transition权限才能被允许转换成新的标识(passwd_t).

下图展示了使用TE机制的SELinux中web外包,并且也存在客体类(process).然而网页切图制作,没有权限,手机页面切图排版我们有一个第三方标识div+css+js切图,默认标识(passwd_t).

下面讲一下TE安全机制的域转换

正如我们下面将要讨论到的,网页重构报价在SELinux中的权限(permissions)要比标准的linux更加细化承接网站前端,在标准linux中只有三个权限,承接网站前端rwx(可读psd切图html,可写,psd切图html可执行).在这个例子中web外包,read和execute和传统的是一样的.getattr不是很明显.实际上,div切图排版getattr权限是能够允许调用者去查看(不是改变)一个文件的属性网页切图制作,例如日期,手机页面切图排版时间以及自主控制访问模式.在标准Linux系统中div+css+js切图,一个调用者仅仅需要该文件目录的搜查的权限就能够查看该文件的这些信息,div+css+js切图即使他没有对文件读访问的权限.

$(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

点击次数:7451
作者:
web前端行业资讯
Web new NewsList
英特尔宣布与法拉利跨界合作欲将AI技术用于赛车运动 ,,2018年01月11日甲骨文服务器出漏洞:攻击者用漏洞挖矿获取加密货币 ,,2018年01月11日用深度学习设计图像视频压缩算法:更简洁、更强大 ,,2018年01月11日Ubuntu内核和NVIDIA更新:修复Meltdown和Spectre两处漏洞 ,,2018年01月11日AntDesign3.1.1发布,阿里企业级UI设计语言 ,,2018年01月11日微信「跳一跳」带火小游戏,开发者如何快速上手? ,,2018年01月11日谷歌公布最新安卓系统份额:你用上奥利奥了么? ,,2018年01月11日腾讯开发出“3D音效”算法:普通耳机实现3D实时语音效果 ,,2018年01月11日谷歌工程师点赞中国程序员实现Node.js启动超4倍提速 ,,2018年01月11日三星电子总裁兼CE部门负责人金炫奭:万物互联时代到来 ,,2018年01月11日NVIDIA和大众合作建立智能驾驶助手 ,,2018年01月11日GIMPS项目报告发现已知最大素数 ,,2018年01月11日微软与生物技术公司开展AI驱动的血液检测同时诊断数十种疾病 ,,2018年01月11日微软跨平台移动开发工具套件HockeyApp宣布免费 ,,2018年01月11日《硅谷》里神乎其神的压缩技术,AI正在一点点做出来 ,,2018年01月11日LinuxMint19代号敲定为“Tara”预计2018年5月至6月期间发布 ,,2018年01月11日Facebook发布wav2letter工具包,用于端到端自动语音识别 ,,2018年01月11日开源数据库ArangoDB正进行约1156万美元股权融资 ,,2018年01月11日IntelCPU漏洞闹大:腾讯云紧急升级 ,,2018年01月11日2018年1月全球数据库排名:Redis夺回第八 ,,2018年01月11日Lyft将联手无人驾驶公司于CES上展示无人驾驶汽车 ,,2018年01月11日京东X无人超市首家社会门店开业:刷脸进、微信自动结算 ,,2018年01月11日担心被AI取代是杞人忧天?高晓松跨年演讲说的有几分对 ,,2018年01月11日免费授权技术许可Intel宣布在未来CPU中集成雷电3 ,,2018年01月11日算法决定你在社交媒体上看到的信息 ,,2018年01月11日谷歌安全博客披露“英特尔内核漏洞”更多细节 ,,2018年01月04日Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日罕贪强铀桨司杖呛链悠匆偬枚治径【移动开发】2014年12月01日iOS开发中new与allocinit的区别及【NSArrayarray】和【【NSArrayalloc】init】及self.和_的区别 【编程语言】2015年01月04日AndroidBaseAdapter在GridView,ListView,Spinner中的使用 【编程语言】2015年08月24日王立平--android中的anim(动画) 【移动开发】2014年11月04日细说SEO人必备的九心你缺了那个心【移动开发】2015年04月24日STM32W108无线射频模块两节点之间通信实例 【移动开发】2015年07月08日ResumeLayout、SuspendLayout、PerformLayout【编程语言】2015年08月14日HTML5HybridApp开发上手指引 【Web前端】2015年07月20日计算器的代码实现【编程语言】2015年05月11日如需定义元素内容与边框间的空间,可使用padding属性,并可使用负值?【编程语言】2015年02月16日3DMAX建模教程:教你如何作汽车建模2014年01月28日SPOJQTREE2lct裸题【编程语言】2015年07月06日NSAttributedString编程【综合】2015年08月24日css3.0动画2015年03月03日Hibernate单表操作(六)——查询记录get()与load()方法区别 【云计算】2015年06月26日AndroidOTA升级包制作脚本详解(三,打包)【系统运维】2015年02月28日YT14-先来练练手之蜜蜂与蜂房 【Web前端】2015年01月29日如何解决局域网中网络邻居访问响应慢2014年01月29日宣传品牌商社交网站互动的营销案例2014年01月28日Excel锁定和隐藏公式动画教程2014年01月28日iOS多线程编程之NSOperation 【数据库】2015年07月07日UIScrollview一直显示滚动条,使用UIImageView自定义滚动条 【数据库】2014年12月16日将本地文件复制到复制到Hadoop文件系统【编程语言】2015年02月25日Bandwidth【移动开发】2014年11月26日【thinkinjava】第10章内部类 【编程语言】2014年11月06日【Unity技巧】四元数(Quaternion)和旋转【Web前端】2014年11月24日linux获取指定文件夹下文件数量 【移动开发】2015年07月22日【Python监控】psutil模块简单使用 【编程语言】2014年12月18日PyQtPhonon模块初探 【移动开发】2014年12月19日给程序员推荐:一些文章资源和趣闻 2,收藏 ,,2016年06月23日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)