注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

绿色圣光

~生活·自愚自乐~

 
 
 

日志

 
 

目录的 Set-User-ID 和 Set-Group-ID 位  

2014-01-12 17:34:19|  分类: 电脑知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

本文译自 Directories and the Set-User-ID and Set-Group-ID Bits


在大多数系统上,如果一个目录的 set-group-ID 位被设置了,新建的子文件会继承与该目录相同的组,并且新建的子目录会继承父目录的 set-group-ID 位。在一些系统上,目录的 set-user-ID 也会类似地影响新建子文件的所有权和新建子目录的 set-user-ID 位。这种机制减少了共享新文件对 chmod 和 chown 的使用需要,让用户之间共享文件变得更加简单。

这种方便的机制依赖于目录的Set-User-ID 和 Set-Group-ID 位。如果像 chmod 和 mkdir 这样的命令按照常规地清理掉目录的这些标志位,那么这种机制就变得不够方便了,而共享文件也会变得更加困难。因此,像是 chmod 这样的命令,不会影响目录的 set-user-ID 或 set-group-ID 位,除非用户特意指明。比如,使用符号模式,或者像“=755”这样的操作数模式,或者在数值模式下设置,以及在数值模式下,使用5位或更多位数的8进制数进行清除。例如,在支持 set-group-ID 继承的系统中:

     # 这些命令没有特别指明子目录的
     # set-user-ID 和 set-group-ID 位,
     # 所以它们会保持它们的默认值。
     mkdir A B C
     chmod 755 A
     chmod 0755 B
     chmod u=rwx,go=rx C
     mkdir -m 755 D
     mkdir -m 0755 E
     mkdir -m u=rwx,go=rx F

如果你想要设置这些位,你必须在符号模式或数值模式下,明确地指定它们。例如:

     # These commands try to set the set-user-ID
     # and set-group-ID bits of the subdirectories.
     mkdir G
     chmod 6755 G
     chmod +6000 G
     chmod u=rwx,go=rx,a+s G
     mkdir -m 6755 H
     mkdir -m +6000 I
     mkdir -m u=rwx,go=rx,a+s J

如果你想要清除这些位,你必须在符号模式下,或者使用操作数模式,或者使用5位或更多位数的8进制数来指定一个数值模式。例如:

     # These commands try to clear the set-user-ID
     # and set-group-ID bits of the directory D.
     chmod a-s D
     chmod -6000 D
     chmod =755 D
     chmod 00755 D

该行为是个 GNU 扩展。可移植的脚本不应该依赖于设置或清除目录的这些位的请求,因为 POSIX 允许忽略这些请求。四位或更少位数数值模式的 GNU 行为,用于保留这些位的系统的可移植脚本;五位或更多位数数值模式的,用于不保留这些位的系统的可移植脚本。

  评论这张
 
阅读(1202)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017