Chinaunix首页 | 论坛 | 博客
  • 博客访问: 539297
  • 博文数量: 260
  • 博客积分: 10435
  • 博客等级: 上将
  • 技术积分: 1939
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 14:50
文章分类

全部博文(260)

文章存档

2011年(22)

2010年(209)

2009年(29)

我的朋友

分类: LINUX

2010-02-23 13:36:10

目录也是一种文件
目录上的读写执行权限与普通文件有所不同:
:用户可以读取目录内的文件
:单独使用没有作用。与执行权限连用可以在目录内添加与删除文件。
执行:用户可以进入目录,调用目录内的资料

     除了读写执行权限以外,ext2ext3文件系统还支持强制位(setuid setgid)与冒险位(sticky)的特别权限。

     针对ugo,分别有set uidset gid,及sticky

     强制位与冒险位添加在执行权限的位置上。如果该位置上原已有执行权限。则强制位与冒险位以小写字母的方式表示,否则,以大写字母表示。

     set uidset gidugx位置上各采用一个ssticky使用一个t

      

默认情况下,用户建立的文件属于用户当前所在的组。

目录上设置了setgid,表示在此目录中,任何人建立的文件,都会属于目录所属的组。

 

默认情况下,如果一个目录上有wx权限,则任何人可以在此目录中建立与删除文件。

一旦目录上设置了冒险位,则表示在此目录中,只有文件的拥有者、目录的拥有者与系统管理员可以删除文件。

 

 

 

在可执行文件上,用户可以添加set uidset gid

默认情况下,用户执行一个指令,会以该用户的身份来运行进程。

指令文件上的强制位,可以让用户执行的指令,以指令文件的拥有者或所属组的身份运行进程。

 

 

用户可以用chmod指令来为文件设置强制位与冒险位。

       set uidchmod u+s 文件名

       set gidchmod g+s 文件名

       stickychmod o+t 文件名

强制位与冒险位也可以通过一个数字加和,放在读写执行的三位数字前来指定。

       4(set uid)

       2(set gid)

       1(sticky)

 

设置s u i d  /    g u i d
命令                      结果                 含义
chmod 4755            -rwsr-xr-x                 suid
、文件属主具有读、写和执行的权限,所有其他用户具有读和执行的权限
chmod 6711            -rws--s--x                 suid
sgid、文件属主具有读、写和执行的权限,所有其他用户具有执行的权限
chmod 4511            -rwS--x
x               suid、文件属主具有读、写的权限,所有其他用户具有执行的权限
上面的表中有具有这样权限的文件:rwS --x -- x,其中S为大写。它表示相应的执行权限位并未被设置,这是一种没有什么用处的suid设置可以忽略它的存在。


注意,chmod命令不进行必要的完整性检查,可以给某一个没用的文件赋予任何权限,但 chmod 命令并不会对所设置的权限组合做什么检查。因此,不要看到一个文件具有执行权限,就认为它一定是一个程序或脚本。

 

 

关于linux下粘贴位(sticky).

 

要删除一个文件,你不一定要有这个文件的写权限,但你一定要有这个文件的上级目录的写权限。也就是说,你即使没有一个文件的写权限,但你有这个文件的上级目录的写权限,你也可以把这个文件给删除,而如果没有一个目录的写权限,也就不能在这个目录下创建文件。

 

如何才能使一个目录既可以让任何用户写入文件,又不让用户删除这个目录下他人的文件,sticky就是能起到这个作用。stciky一般只用在目录上,用在文件上起不到什么作用。

 

在一个目录上设了sticky位后,(如/home,权限为1777)所有的用户都可以在这个目录下创建文件,但只能删除自己创建的文件(root除外),这就对所有用户能写的目录下的用户文件启到了保护的作用。

 

阅读(849) | 评论(0) | 转发(0) |
0

上一篇:apache 停止和重启

下一篇:php ob_start

给主人留下些什么吧!~~