Linux系统文件权限隐藏的细节深入分析.doc

Linux系统文件权限隐藏的细节深入分析.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux系统文件权限隐藏的细节深入分析

Linux系统文件权限隐藏的细节深入分析 linux是一个安全的操作系统,她是以文件为基础而设计的,其文件权限是比较复杂的,可以用stat命令以及lsattr命令来显示某个文件的详细信息:   $ stat file1   file: `file1   size: 11904 blocks: 24 io block: 4096 regular file   device: 301h/769d inode: 355982 links: 1   access: (0755/-rwxr-xr-x) uid: ( 503/ jack) gid: ( 503/ general)   access: 2003-10-19 09:14:12.000000000 +0800   modify: 2003-10-14 20:41:21.000000000 +0800   change: 2003-10-19 18:56:25.000000000 +0800      $ lsattr file   ----i--a----- file ? 可以看到,文件权限的含义是比较广的,先来看-rwxr-xr-x,第一位是文件的类型,它定义了用户只能某种方式来操作文件,后面九位是文件的存取控制信息,linux的文件许可机制将用户分为三类:文件属主u(user)、文件属组g(group)和其它用户o(other)。三类不同的用户可以对文件拥有三种不同级别的权限:读r(read)、写w(write)和运行x(execute)。于是形成了九位的权限信息,分为三组,分别对应u,g, o。除此之外,用户还可以设置setuid与setgid位来改变程序的执行身份。用lsattr命令则可以看到文件的属性,控制位包括 asacddiijsttu,这些也是能控制文件的存取的。 ? 由于篇幅有限,不可能就这些一一进行分析,本文着力分析文件权限中w(write)的真正含义,挖出其背后隐藏的细节,力图使读者能正确用好这个关键的权限位,不至于在系统管理中出现差漏。 为了能更直观的说明问题,本文采用实验操作的方式,一步一步的进行分析。为了简化操作,我们用o(other)这组权限来做实验。实验中用到的权限位均属于o(other), 进行操作的用户均非root用户,属于o(other)。 ? 在实验之前,必须澄清一个概念,目录也是一种文件,它主要包括了两方面的信息,该目录下文件的文件名称与文件inode编号,它们之间有一一对应的关系。不过目录文件比较特殊,不能用常规的方法进行读写,必须用系统的专用命令来操作。命令ls其实是对目录文件进行读操作,命令mv,rm则是对目录文件进行写操作。 ? 好了,该说说w(write)的真正含义了,一句话,linux文件权限中的w是对该文件的*内容*进行限定。下面的实验可以验证。 实验1, 目录文件: /test(rwx), 普通文件: /test/file(r--). 当前目录:/test linux是一个安全的操作系统,她是以文件为基础而设计的,其文件权限是比较复杂的,可以用stat命令以及lsattr命令来显示某个文件的详细信息:   $ echo abc file   bash: file: permission denied ? 试图对file的内容进行改写, 但file的权限是只读,很显然,操作失败。 linux是一个安全的操作系统,她是以文件为基础而设计的,其文件权限是比较复杂的,可以用stat命令以及lsattr命令来显示某个文件的详细信息:  ?   $ cat file   hello world! ? 没有问题, 可以读出file的内容。 linux是一个安全的操作系统,她是以文件为基础而设计的,其文件权限是比较复杂的,可以用stat命令以及lsattr命令来显示某个文件的详细信息:  ?   $ mv file file2   $ ls   file2 这是怎么回事呢, file的权限明明是只读啊, 请注意, 前面提到了, 文件中的rw权限只是针对当前文件的内容进行限定, 文件名不属于当前文件的内容, 它是保存在上一级的目录文件的内容中。而mv命令表面上是针对file的,其实是对/test的内容进行改写,再看看/test的权限, 是可写的(rwx)。许多用户为了保护文件,将其权限设成只读就不管了,这是非常危险的,诚然,可以达到保护文件内容的目的(其实也未必,补充内容中有论述),但你却不能保证文件是否会被更名或被删除,保险的方法是将文件父目录的权限也设为只读。当然,也有其他的方法,比如用chattr +i命令或将文件系统用ro方式挂载等等,但这些不在本文论述范围。 linux是一个安全的操作系统,她是以

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档