LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1086|回复: 7

有哪位见过"s"的组执行属性?

[复制链接]
发表于 2007-3-12 14:35:38 | 显示全部楼层 |阅读模式
各位高手,

我这儿有两个目录,注意看就不难发现,它的组权限中,执行不是用"x",而是是"s".

请问应该怎么做?


drwxrws---   11 root     mis          4096 Mar 12 10:46 Private
drwxrws---   13 root     users        4096 Mar 10 10:04 Public

Thanks,
jacky
发表于 2007-3-12 20:56:33 | 显示全部楼层
s表示系统中默认重要文件!
用chmod 7777 +文件
回复 支持 反对

使用道具 举报

发表于 2007-3-14 10:22:11 | 显示全部楼层
这里的s叫做sticky可以设置suid, sgid, 目录的组执行权限被设置了该位(sgid),任何加到该目录下的文件的组自动成为该目录所属的组.
这个功能在CVS里用的比较多.
如果是文件具有粘滞位的话(suid),执行的时候就具有文件属主的权限. 如/user/bin/passwd
man chmod
STICKY FILES
       On  older  Unix  systems,  the sticky bit caused executable files to be
       hoarded in swap space.  This feature is not useful on  modern  VM  sys-
       tems, and the Linux kernel ignores the sticky bit on files.  Other ker-
       nels may use the sticky bit on files for system-defined  purposes.   On
       some systems, only the superuser can set the sticky bit on files.

STICKY DIRECTORIES
       When  the sticky bit is set on a directory, files in that directory may
       be unlinked or renamed only by root or their owner.  Without the sticky
       bit,  anyone able to write to the directory can delete or rename files.
       The sticky bit is commonly found on directories, such as /tmp, that are
       world-writable.
这样应该清楚了.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-14 13:29:42 | 显示全部楼层
Post by wls_6000
s表示系统中默认重要文件!
用chmod 7777 +文件
我试着执行下面这条命令,
chmod 7770 Public/
得到了下面这条结果.
drwsrws--T   18 root     users        4096 Mar 14 12:04 Public
其用户执行权限中多了一个大写"T", 请问大写"T"有很什功能, 怎样去掉它?
THANKS!
回复 支持 反对

使用道具 举报

发表于 2007-3-16 15:13:53 | 显示全部楼层
s 、S 、t 、 T这些是linux系统中除了rwx以外的影响文件被执行或被访问的方式,这些只会出现在ugo这三组用户权限上的x(执行)位上,其中s 、S 只会出现在ug这两组的相应的位置上,t 、 T出现在o这一组的相应的位置上,当原来该位置上具有可执行权限的时候,他会变成小写的s 、t,反之原来的位置上不具有相应的可执行权限的话,他就变车大写的S、T。当u这组的执行位上出现s时,表示跟u同组的用户在执行这个脚本的这一瞬间具有这个脚本所拥有者的权限,同样s出现在g这组上的时候就表示在执行这个脚本的这一瞬间具有这个脚本所属组的权限。t表示只有文件的所有者和root用户可以对文件进行删除。S和T没有什么作用,这两个只会出现的原来位置上没有可执行权限的时候,本身就没有可执行权限,别的人就算和他原来的所属者和所属组具有同样的权限的话,也是没有什么意义的呀!T也一样。
回复 支持 反对

使用道具 举报

发表于 2007-3-16 15:18:45 | 显示全部楼层
u、g、o上面的s、s、t用数字表示的话分别为4、2、1,他出现在ugo三组权限之前。如7777表示rwsrwsrwt,最前面的一个7表示是4(s)+2(s)+1(t)。别的你自己可以试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-23 15:40:44 | 显示全部楼层
我试过了,应该是最后一个"7"在起作用,其实多一个大写的"T"也不碍事,只是觉得有人能做到去掉那个"T",我不知道该用那个数字组合去掉它.

drwsrws--T 2 root root  4096 Mar 23 15:31 ftp
回复 支持 反对

使用道具 举报

发表于 2007-3-23 19:28:49 | 显示全部楼层
Post by jackyprc
我试过了,应该是最后一个"7"在起作用,其实多一个大写的"T"也不碍事,只是觉得有人能做到去掉那个"T",我不知道该用那个数字组合去掉它.

drwsrws--T 2 root root  4096 Mar 23 15:31 ftp


看看文档(手册)吧. 再说了, 系统的文件权限不要乱改, 除非你清楚自己在做什么.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表