umask与文件默认权限
一文中,我曾经说过,发现其默认权限显示是四个数字,这到底是怎么一回事呢?
我们来看一下下面这个例子:
不是只有rwx吗? 那个s和t是什么东东?
原来,在文件中,有这么一种权限,他可以赋予你和创建者一样的身份,当然这是临时的。
并且,只能是创建者可执行的权限,且当其他用户执行这个文件的时候,他也有创建者的权限了。
这就是SUID(SET UID),如passwd文件,正常,除了root是不可以有别人来更改这个passwd文件的。
当用户更改自己密码的时候还是可以实施的。这时候就是s权限起了作用。
同理,那个SGID 我们就很好理解了。就是赋予其用户组的权限,G不也就是GROUP嘛。
而且SUID,SGID只能作用于二进制文件。
那么,Sticky Bit是什么东东?
举个例子吧,一个目录,有这么一个权限。即 drwxrw-rw-
那么,当我是这个用户组的成员,你也是。
那就会出现这种情况,你嫉妒我,把我建立的目录啊,文件啊。都给我删了,或者重命名。这就会有很大的问题。
为了限制这种情况的发生,有一种特殊的文件权限叫Sticky Bit 。
它的作用是,当一个目录有Sticky Bit权限时,则只有root和自己能有权限对自己设的目录进行删除或更改。
别人,哪怕是同组的人都不行。但是别人依旧可以看到。。
那么这几个权限要怎么设置呢?
就是4个数字的权限设定就OK了。。也就是说chmod的时候为4个数字,例如:chmod 4755 filename
这个第一个数字就是表示设置的特殊权限。
对应如下:
4为SUID,2为SGID,1为Sticky Bit
但是要注意这样一种情况,会出现大写的S和T
那就是当自己还没有可执行权限的时候,却设置了SUID,
那么大S和大T表示就是空。也就是说其实我都不行,你还想要这权限?别逗了。
哈哈。。。