快速业务通道

linux强制位与冒险位

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-22

  linux ext3文件系统支持强制位(setuid 和setgid)与冒险位(sticky)的特别权限.针对u,g,o,分别有set uid,set gid,及sticky.

  强制位与冒险位添加在执行权限的位置上:如果该位置上原已有执行权限,则强制位与冒险位以小写字母的方式表示;否则,以大写字母表示.set uid与set gid在u和g的x位置上各采用一个s,sticky使用一个t.

  当一个文件具有setuid时,同时others群组具有可执行权限,那么当 others群组执行程序时,others将拥有该文件的owner权限.

  默认情况下,用户建立的文件属于用户当前所 在的组.目录上设置了setgid,表示在此目录中,任何人建立的文件,都会属于目录所属的组.

  默认情况下,如果一个目录上有w和x权限, 则任何人可以在此目录中建立与删除文件.一旦目录上设置了冒险位,则表示在此目录中,只有文件的拥有者、及root 才可以删除文件.

  在可执行文件上,用户可以添加set uid和set gid.默认情况下,用户执行一个 可执行文件,会以该用户的身份来运行进程.在可执行性文 件上添加强制位后,可以让用户执行的指令,以指令文件的拥有者或所属组的身份运行进程.

  用户可以用chmod指令来为文件设置强制 位与冒险位.

  set uid:chmod u s 文件名

  set gid:chmod g s 文件名

  sticky:chmod o t 文件名

  强制位与冒险位也可以通过一个数字加和,放 在读写执行的三位数字前来指定.

  4(set uid)

  2(set gid)

  1(sticky)

  强制位对文件的作用

  在可执行文件上,用户可以添加set uid和set gid.默认情况下,用户执行一个指令,会以该用户的身份来运行进程.指令文件上的强制位,可以让用户执行的指令,以指令文件的拥有者或所属组的身份运行 进程.这里有一个很好的例子.你管理着几个大型的数据库系统,而对它们进行备份需要有系统管理权限.你写了几个脚本,并设置了它们的setuid,这样你指定 的一些用户只要执行这些脚本就能够完成相应的工作,而无须以数据库管理员的身份登录,以免不小心破坏了数据库服务器.通过执行这些脚本,他们可以完成数据 库备份及其他管理任务,在这些脚本运行结束之后,他们就又回复到他们作为普通用户的权限.另一个例子是/bin /passwd ,要读写/etc/passwd文件需要超级用户权限,但一般用户也需要随时可以改变自己的密码,/bin/passwd就设置了setuid,当用户改 自己密码的时侯就拥有了超级用户权限.

  强制位对目录的作用

  默认情况下,用户建立的文件属于用户当前 所在的组.目录上设置了setgid,表示在此目录中,任何人建立的文件,都会属于目录所属的组.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号