Linux中文件三种特殊权限的探讨.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux中文件三种特殊权限的探讨摘 要Linux系统中的文件权限除了读、写、执行之外,还有三种特殊权限,即Suid、Sgid和Sticky。本文对这三种特殊权限的意义和用法进行探讨,并举例说明这些权限在实际工作中的应用。【关键词】特殊权限 Suid Sgid Sticky 应用1 Linux系统中的三种文件特殊权限Linux系统中的文件权限有很多种,最普通的权限是读、写和执行,但是在一个非常强调系统安全性的操作系统中,文件如果只具有这三种基本权限显然是远远不够的。所以,Linux系统还设有三种特权的文件权限,即Suid、Sgid和Sticky。当然,除了这三种特殊权限外,还有一些其它的重要的权限,本文只对这三种特殊的文件权限做研究和探讨。1.1 Suid权限如果在一个可执行文件上应用Suid权限,那么任何人在执行该命令时会临时得到拥有人的权限。对于Suid权限还有以下几点限制:(1)Suid权限仅对命令(可执行文件或二进制文件)有效。(2)执行者对于该命令需要具有x的权限。(3)本权限仅在执行该命令的过程中有效。(4)执行者将具有该命令拥有人的权限。最后,还有一点要说明的是,Suid权限仅用在二进制文件上(命令),不能够用在shell script上面。这是因为shell script只是将很多的二进制执行文件调进来执行而已。所以Suid的权限部分,还是得看shell script调用进来的程序的设置,而不是shell script本身。1.2 Sgid权限Sgid全限既可以针对命令设置,也可以针对目录设置。如果是针对命令,则与Suid类似,只是此时执行者获得的是命令拥有组的权限,这种情况较少用到。用得较多的是针对目录的设置。如果在一个目录上应用sgid权限,那么任何人在该目录中创建的文件会自动继承目录本身的组。具体分析一下Sgid权限的功能,若对一个目录应用了该权限,则:(1)用户若对该目录具有r与x权限,该用户能够进入该目录;(2)将用户加到某个组中,将目录的拥有组也改为这个组;(3)若用户对这个目录有w权限,则可在其下创建目录和文件,则这些目录和文件将与该目录的拥有组相同。1.3 Sticky权限Sticky权限只针对目录有效,如果在一个目录上应用Sticky权限,那么仅root用户和该目录下的文件拥有人才能删除该文件。上面介绍了三种特殊权限的功能,那么如何配置文件使其成为具有这些特殊权限呢?可以采用数字方式也可以采用字符的方式。如果采用数字方式,则在三位基本权限数字前再加一位,代表特殊权限。其中4代表Suid,2 代表Sgid,1代表Sticky。如果采用字符方式,由于Suid是针对拥有人的,所以在拥有人的权限栏位上将x改为s;Sgid是针对拥有组的,所以在拥有组的栏位上将x改为s;Sticky是针对其他人的,所以在其他人的栏位上将x改为t。2 三种文件特殊权限在实际工作中的应用这三种特殊权限在实际工作中非常有用,下面通过几个例子来加以说明。2.1 Suid权限的应用系统中的所有用户的密码存放在文件/etc/shadow中,查看该文件的权限是“r--------”,代表只有root用户对该文件有读权限,当然也可以强制写入。但是每一个普通用户却是可以通过执行“passwd 用户名”的命令来更改自己的密码的,而密码信息则是写入/etc/shadow文件中的!也就是说普通用户对/etc/shadow有写的权限!这似乎和查看到的该文件的权限矛盾了。但事实上就是因为/usr/bin/passwd这个命令的权限问题,该命令(二进制文件)的权限为“rwsr-xr-x”,其中拥有人的栏位中x的位置变成了s,这就是Suid权限。表示当普通用户在执行passwd命令是临时拥有了root的权限,所以普通用户可以修改自己的密码。2.2 Sgid权限的应用对于Sgid权限则更多地应用于项目开发。对于一个开发小组的成员,总是希望每个组员创建的文件,其他组员可以去修改,这样才能达到团队合作的目的。例如,考虑这样的场景:一个IT项目组里有三个成员:IT1、IT2和IT3,共同开发一个项目。为了便于彼此之间的合作,建立一个大家可以共享的目录/project。正常情况下,若IT1在/project下创建了一个文件或目录,IT2和IT3是无法修改的,不便于项目合作。为了解决这个问题,可以采用给/project目录设置Sgid权限。先将IT1、IT2和IT3加入同一个组IT,将/project目录的拥有组也改为IT,再执行命令“chmod g+s /project”给/project目录加上Sgid权限。然后IT1、IT2和IT3在/project目录下创建的文件或目录,彼此都能修改。2.3 Sticky权限的应用腾讯的QQ群共享就采用这种技术。每个用户

文档评论(0)

ganpeid + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档