首页 | Linux 基础 | 资讯动态 | Linux 应用 | Linux 服务器 | Linux 开发 | Linux 安全 | 专题 | 联盟论坛
  当前位置:主页>Linux 应用>linux系统管理>文章内容
Linux系统下用户和用户组所有权模型详解
来源:http://www.unix5.com 作者:riechelr_hl 发布时间:2007-07-12  

 

  
  $ ls -l /usr/bin/passwd
  
  -rwsr-xr-x  1 root   wheel    
    17588 Sep 24 00:53 /usr/bin/passwd

  

您还把注意到,这里有一个 s 取替了用户权限三元组中的一个 x。这表明,对于这个特殊程序,设置了 suid 和可执行位。由于这个原因,当 passwd 运行时,它把代表 root 用户执行(具有完全超级用户访问权),而不是代表运行它的用户运行。又因为 passwd 以 root 用户访问权运行,所以能够修改 /etc/passwd 文件,而没有什么问题。

suid/sgid 告诫说明

我们看到了 suid 如何工作,sgid 以同样的方式工作。它允许程序继承程序的组所有权,而不是当前用户的程序所有权。这里有一些关于 suid 和 sgid 的其它的但是很重要的信息。首先,suid 和 sgid 占据与 ls -l 清单中 x 位相同的空间。如果还设置了 x 位,则相应的位表示为 s(小写)。但是,如果没有设置 x 位,它把表示为 S(大写)。另一个很重要的提示:在许多环境中,suid 和 suid 很管用,但是不恰当地使用这些位可能使系统的安全遭到破坏。最好尽可能地少用“suid”程序。passwd 命令是为数不多的必须使用“suid”的命令之一。

改变 suid 和 sgid

设置和除去 suid 与 sgid 位相当简单。这里,我们设置 suid 位:

 

  
  # chmod u+s /usr/bin/myapp

  

此处,我们从一个目录除去 sgid 位。我们把看到 sgid 位如何影响下面几屏中的目录:

 

  
  # chmod g-s /home/drobbins

  

权限和目到此为止,我们从常规文件的角度来看权限。当从目录的角度看权限时,情况有一点不同。目录使用同样的权限标志,但是它们被解释为表示略微不同的含义。 对于一个目录,如果设置了“read”标志,您可以列出目录的内容;“write”表示您可以在目录中创建文件,“execute”表示您可以进入该目录并访问内部的任何子目录。没有“execute”标志,目录内的文件系统对象是不可访问的。没有“read”标志,目录内的文件系统对象是不可查看的,但是只要有人知道磁盘上对象的完整路径,就仍然可以访问目录内的对象。目录和 sgid如果启用了目录的“sgid”标志,在目录内创建的任何文件系统对象把继承目录的组。当您需要创建一个属于同一组的一组人使用的目录树时,这种特殊的功能很管用。只需要这样做:

 

  
  # mkdir /home/groupspace
  
  # chgrp mygroup /home/groupspace
  
  # chmod g+s /home/groupspace

  

现在,mygroup 组中的所有用户都可以在 /home/groupspace 内创建文件或目录,同样,他们也把自动地分配到 mygroup 的组所有权。根据用户的 umask 设置,新文件系统对象对于 mygroup 组的其他成员来说,可以或不可以是可读、可写或可执行的。目录和删除缺省情况下,Linux 目录以一种不是在所有情况下都很理想的方式表现。一般来说,只要对一个目录有写访问权,任何人都可以重命名或删除该目录中的文件。对于个别用户使用的目录,这种行为是很合理的。但是,对于很多用户使用的目录来说,尤其是 /tmp 和 /var/tmp,这种行为可能会产生麻烦。因为任何人都可以写这些目录,任何人都可以删除或重命名任何其他人的文件 — 即使是不属于他们的!显然,当任何其他用户在任何时候都可以输入“rm -rf /tmp/*”并损坏每个人的文件时,很难把 /tmp 用于任何有意义的文件。所幸,Linux 有叫做“粘滞位”(sticky bit)的东西。当给 /tmp 设置了粘滞位(用 chmod +t),唯一能够删除或重命名 /tmp 中文件的是该目录的所有者(通常是 root 用户)、文件的所有者或 root 用户。事实上,所有 Linux 分发包都缺省地启用了 /tmp 的粘滞位,而您还可以发现粘滞位在其它情况下也很管用.

共4页: 上一页 [1] [2] 3 [4] 下一页
 
如果您对本文有任何疑问或者建议,请到论坛讨论区发表您的意见: >> 论坛入口
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
  热点文章
·Linux操作系统下IP隧道深入研究
·Linux操作系统的内存使用机制研
·Linux操作系统下IP隧道深入研究
·Linux操作系统中内部进程通信的
·讲解关于Linux系统下内核抢占补
·基于Linux系统管理的负载均衡技
·如何学习理解Linux的系统调用
  相关文章
·讲解关于Linux系统下内核抢占补
·Linux操作系统下IP隧道深入研究
·Linux操作系统下IP隧道深入研究
·Linux操作系统的内存使用机制研
·Linux操作系统中内部进程通信的
·基于Linux系统管理的负载均衡技
·如何学习理解Linux的系统调用

本站信息源至:互联网络,均为学习,交流所用,如有版权问题,请联系我们.
站长QQ:397422079 E_mail:riechelr_hl@unix5.com
转载本站内容请注明原作者名.谢谢!