linux有效用户和实际用户的区别以及权限中的S_第1页
linux有效用户和实际用户的区别以及权限中的S_第2页
免费预览已结束,剩余11页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

个人收集整理-ZQlinux有效用户和实际用户的区别以及权限中的S 有效用户和实际用户的区别 阅读 评论 字号:大中小订阅转载:今天在看,这两个问题很难理解,一下,有篇文章总结的不错,看了一下才明白透彻了。由于用户在下经常会遇到、的概念,而且和涉及到系统安全,所以用户也比较关心这个问题。关于、 的问题也经常有人提问,但回答的人一般答得不够详细,加上曾经回答过两个网友的问题,还查了一些资料,决定整理成本文,以供大家参考。限于本人的水平问题,文章中如果有不当之处,请广大网友指正。 b5E2R。b5E2R。一、下关于文件权限的表示方法和解析 是 , 是 的意思。下可以用 命令来看到文件的权限。用命令所得到的表示法的格式是类似这样的: 。下面解析一下格式所表示的意思。这种表示方法一共有十位:p1Ean。p1Ean。 第位表示文件类型,可以为、和:表示命名管道文件表示目录文件表示符号连接文件表示普通文件表示文件表示字符设备文件表示块设备文件DXDiT。DXDiT。第位、位、位分别表示文件所有者的权限,同组用户的权限,其他用户的权限,其形式为:表示可读,可以读出文件的内容表示可写,可以修改文件的内容表示可执行,可运行这个程序没有权限的位置用表示例子: 显示为: 表示文件是普通文件,文件的所有者是用户,而用户属于组,文件只有个硬连接,长度是个字节,最后修改时间月日。RTCrp。RTCrp。所有者对文件有读写执行权限,组的成员对文件有读和执行权限,其他的用户对这个文件没有权限。如果一个文件被设置了或位,会分别表现在所有者或同组用户的权限的可执行位上。例如:、 表示和所有者权限中可执行位被设置、 表示被设置,但所有者权限中可执行位没有被设置、 表示和同组用户权限中可执行位被设置、 表示被设置,但同组用户权限中可执行位没有被社其实在的实现中,文件权限用个二进制位表示,如果该位置上的值是,表示有相应的权限: 第位为位,第位为位,第位为位,第位对应于上面的三组位。 上面的的值为: 的值为: 给文件加和的命令如下: 设置位 去掉设置 设置位 去掉设置另外一种方法是命令用八进制表示方法的设置。如果明白了前面的位权限表示法也很简单。二、和的详细解析由于和是在执行程序(程序的可执行位被设置)时起作用,而可执行位只对普通文件和目录文件有意义,所以设置其他种类文件的和位是没有多大意义的。5PCzV。5PCzV。首先讲普通文件的和的作用。例子:如果普通文件是属于用户的,是可执行的,现在没设位,命令显示如下: 任何用户都可以执行这个程序。的内核是根据什么来确定一个进程对资源的访问权限的呢?是这个进程的运行用户的(有效),包括 和 。用户可以用命令来查到自己的或其他用户的 和 。jLBHr。jLBHr。除了一般的 和 外,还有两个称之为 的,就是有效,上面的四个表示为:,。内核主要是根据和来确定进程对资源的访问权限。xHAQX。xHAQX。一个进程如果没有或位,则 ,分别是运行这个程序的用户的和。例如用户的和分别为和,用户的和为 ,运行程序形成的进程的,内核根据这些值来判断进程对资源访问的限制,其实就是用户对资源访问的权限,和没关系。LDAYt。LDAYt。如果一个程序设置了,则和变成被运行的程序的所有者的和,例如用户运行,则这个进程具有它的属主的资源访问权限。Zzz6Z。Zzz6Z。的作用就是这样:让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源。就是一个很鲜明的例子。dvzfv。dvzfv。的优先级比高,当一个可执行程序设置了,则会自动变成相应的。下面讨论一个例子:系统有一个的设备文件,是一个字符设备文件,里面存储了核心程序要访问的数据,包括用户的口令。所以这个文件不能给一般的用户读写,权限设为: , rqyn1。rqyn1。但等程序要读这个文件,而的权限设置如下: 这是一个设置了的程序,而的用户是,不是,所以不能设置来访问,但大家注意了,和都属于 组,而且设置了,一般用户执行,就会获得组用户的权限,而文件的同组用户的权限是可读,所以一般用户执行就没问题了。但有些人说,为什么不把程序设置为用户的程序,然后设置位,不也行吗?这的确可以解决问题,但实际中为什么不这样做呢?因为的风险比小得多,所以出于系统安全的考虑,应该尽量用代替的程序,如果可能的话。下面来说明一下对目录的影响。对目录没有影响。如果一个目录设置了位,那么如果任何一个用户对这个目录有写权限的话,他在这个目录所建立的文件的组都会自动转为这个目录的属主所在的组,而文件所有者不变,还是属于建立这个文件的用户。Emxvx。Emxvx。三、关于和的编程和和编程比较密切相关的有以下的头文件和函数: (); (); (); (); ( ); ( ); ( ); ( ); ( ); ( ); ( ); ( , );具体这些函数的说明在这里就不详细列出来了,要用到的可以用查。 :假如你有文件 注意位置 注意位置 出现了的作用在内存中尽量保存,节省系统再加载的时间.现在再看前面设置 作用: . (普通用户)$.是不是现在显示出错?$ $. 现在明白了吗?本来是只有用户才能执行的命令,加了后,普通用户就可以像一样的用,权限提升了。上面是对于文件来说的,对于目录也差不多!SixE2。SixE2。目录的属性使得在该目录下创建的任何文件及子目录属于该目录所拥有的组,目录的属性使得该目录的所有者及才能删除该目录。还有对于与,设置需要有运行权限,否则用 后就会看到,证明你所设置的没有起作用。6ewMy。6ewMy。 ? 读访问 写访问 执行许可 位那么 是做什么的? 为什么会有位呢?要想明白这个,先让我们看个问题:如果让每个用户更改自己的密码?用户修改密码,是通过运行命令来实现的。最终必须要修改文件,而的文件的属性是: 我们可以看到文件只有对于用户是可写的,而对于所有的他用户来说都是没有写权限的。 那么一个普通的用户如何能够通过运行命令修改这个文件呢?kavU4。kavU4。为了解决这个问题,便应运而生。而且对它申请了专利。 呵呵。和是如何解决这个问题呢?首先,我们要知道一点:进程在运行的时候,有一些属性,其中包括 实际用户,实际组,有效用户,有效组等。 实际用户和实际组标识我们是谁,谁在运行这个程序,一般这个字段在登陆时决定,在一个登陆会话期间, 这些值基本上不改变。y6v3A。y6v3A。而有效用户和有效组则决定了进程在运行时的权限。内核在决定进程是否有文件存取权限时,是采用了进程的有效用户来进行判断的。M2ub6。M2ub6。知道了这点,我们来看看的解决途径:当一个程序设置了为位时,内核就知道了运行这个程序的时候,应该认为是文件的所有者在运行这个程序。即该程序运行的时候,有效用户是该程序的所有者。举个例子:0YujC。0YujC。 虽然你以登陆系统,但是当你输入命令来更改密码的时候,由于设置了位,因此虽然进程的实际用户是对应的,但是进程的有效用户则是文件的所有者的,因此可以修改文件。eUts8。eUts8。让我们看另外一个例子。命令应用广泛,可以测试网络是否连接正常。在运行中是采用了协议,需要发送报文。但是只有用户才能建立报文,如何解决这个问题呢?同样,也是通过位来解决。sQsAE。sQsAE。 我们可以测试一下,如果去掉的位,再用普通用户去运行命令,看会怎么样。 $ : : 虽然很好了解决了一些问题,但是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论