手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

第 3 部分: 中级管理

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

幸好,Linux 权限模型有两个专门的位,叫做“suid”和“sgid”。当配置了一个可执行程式的“suid”这一位时,他将代表可执行文档的任何者运行,而不是代表启动程式的人运行。

现在,回到 /etc/passwd 问题。假如看一看 passwd 可执行文档,我们能够看到他属于 root 用户:



$ ls -l /usr/bin/passwd

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



您还将注意到,这里有一个 s 取替了用户权限三元组中的一个 x。这表明,对于这个特别程式,配置了 suid 和可执行位。由于这个原因,当 passwd 运行时,他将代表 root 用户执行(具备完全终极用户访问权),而不是代表运行他的用户运行。又因为 passwdroot 用户访问权运行,所以能够修改 /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 的粘滞位,而您还能够发现粘滞位在其他情况下也很管用。

难以理解的第一位

总结本章,我们最后来看一看数字模式的难以理解的第一位数。您能够看到,这个第一位数用来配置 sticky、suid 和 sgid 位:

suidsgidsticky模式数字
ononon7
on

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!