中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 操作系统 > SCO_Unix
哪位高手帮我讲解一下chmod命令中的suid和guid?
作者:未知 时间:2005-09-13 15:05 出处:ChinaUnix.net 责编:chinaitpower
              摘要:哪位高手帮我讲解一下chmod命令中的suid和guid?

哪位高手帮我讲解一下chmod命令中的suid和guid?查了某些资料我还是不懂,我觉得设不设suid和guid好象没有区别,多谢!

 meteor06 回复于:2003-08-28 13:42:59
不错 ;)

 li2002 回复于:2003-08-28 09:42:52
1.6.1 为什么要使用suid/guid
为什么要使用这种类型的脚本?这里有一个很好的例子。我管理着几个大型的数据库系
统,而对它们进行备份需要有系统管理权限。我写了几个脚本,并设置了它们的g u i d,这样
我指定的一些用户只要执行这些脚本就能够完成相应的工作,而无须以数据库管理员的身份
登录,以免不小心破坏了数据库服务器。通过执行这些脚本,他们可以完成数据库备份及其
他管理任务,但是在这些脚本运行结束之后,他们就又回复到他们作为普通用户的权限。
有相当一些U N I X命令也设置了s u i d和g u i d。如果想找出这些命令,可以进入/ b i n或/ s b i n目
录,执行下面的命令:
$ ls -l | grep '^...s'
上面的命令是用来查找s u i d文件的;
$ ls -l | grep '^...s..s'
上面的命令是用来查找s u i d和g u i d的。
现在我们明白了什么是s u i d,可是如何设置它呢?下面就来介绍这个问题。如果希望设置
s u i d,那么就将相应的权限位之前的那一位设置为4;如果希望设置g u i d,那么就将相应的权限
位之前的那一位设置为2;如果希望两者都置位,那么将相应的权限位之前的那一位设置为4+2。
一旦设置了这一位,一个s将出现在x的位置上。记住:在设置s u i d或g u i d的同时,相应的
执行权限位必须要被设置。例如,如果希望设置g u i d,那么必须要让该用户组具有执行权限。
如果想要对文件l o g i n设置s u i d,它当前所具有的权限为rwx rw- r-- (741),需要在使用
c h m o d命令时在该权限数字的前面加上一个4,即chmod 4741,这将使该文件的权限变为r w s
rw- r - -。
$ chmod 4741 logit
1.6.2 设置suid/guid的例子
下面给出几个例子:
表1-7 设置s u i d / g u i d
[code:1:ba85db1c69]
-----------------------------------------------------------------------------
命令            结果                      含义
chmod 4755 rws r-x r- x 文文件被设置了s u i d,文件属主具有读、写和执行的权限,所有其他用户具有读和执行的权限
chmod 6711 rws --s --s 文文件被设置了s u i d和g u i d,文件属主具有读、写和执行的权限,所有其他用户具有执行的权限
chmod 4764 rws rw- r- - 文文件被设置了s u i d,文件属主具有读、写和执行的权限,同组用户具有读和执行的权限,其他用户具有读权限
-------------------------------------------------------------------------------
[/code:1:ba85db1c69]
还可以使用符号方式来设置s u i d / g u i d。如果某个文件具有这样的权限: rwx r-x r- x,那么
可以这样设置其s u i d:
chmod u+s <filename>
于是该文件的权限将变为: rws r-x r-x
在查找设置了s u i d的文件时,没准会看到具有这样权限的文件:rwS r-x r- x,其中S为大写。
它表示相应的执行权限位并未被设置,这是一种没有什么用处的s u i d设置,可以忽略它的存在。
注意,c h m o d命令不进行必要的完整性检查,可以给某一个没用的文件赋予任何权限,但
chmod 命令并不会对所设置的权限组合做什么检查。因此,不要看到一个文件具有执行权限,
就认为它一定是一个程序或脚本。

 zy520fxq 回复于:2003-08-28 10:02:26
多谢

 saintdragon 回复于:2003-08-28 10:24:48
长知识

 yujf 回复于:2003-08-29 11:10:18
强,知道的好细哦

 yutian 回复于:2003-08-29 11:28:37
顶一下

 saintjian 回复于:2003-08-29 19:15:56
好牛,不白来。

 htldm 回复于:2003-08-29 21:30:31


 秋意正浓 回复于:2003-08-29 23:15:03
好,我也试试看。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有