分类: LINUX
2009-12-23 21:43:29
|
的信息。在红色字体中,包括'-'的话,总共有10位,如下所示:
|
其中,bit8~bit6表示文件所有者对该文件的权限
bit5~bit3表示文件所有者所在组的权限
bit2~bit0表示其他用户(组)的权限
权限分为r、w、x,对应的数值是4、2、1.传说中的777就是所有用户对文件均拥有读、写、运行三种权限.
比较特殊的是bit9,该位表示文件类型:p、d、l、s、c、b、-
p---pipe(?),命名管道文件
d---directory,文件夹
l---symbolic link,链接
s---socket,套接字文件
c---char,字符设备文件
b---block,块设备文件
'-',表普通文件。
参考金步国先生的Linux设备文件简介以及关于UNIX和Linux系统下SUID、SGID的解析
+++++++++++++++++++Partition Line+++++++++++++++++++++++
而在linux中,更令我在意的是s与S。具体的介绍可以参看上面的链接。
先引一个例子,也正是因为之前遇到这个问题,我才觉得有必要要记录一下。在/usr/bin下,查看sudo的信息(s所在的位置原本是x的):
|
如果将其权限进行修改,敲入如下#chmod u-s sudo
命令后,再查看:
|
这时,假设要在普通用户下打开新立得,则会出现
|
在这种情况下,只能使用超级用户才能打开。如果要复原,只需在超级用户下输入#chmod u+s sudo即可。但先不急,继续往下操作试试。连续输入下面两个指令后
|
则小s变成大S了
|
简单说,要出现小s,原来的权限必须有x,否则只会大S。
这就涉及到几个概念的东东了。SUID、SGID、EUID、EGID,分别表示Set User ID、Set Group ID、 Effective User ID跟Effective Group ID。目前觉得了解下就行。
具体的原因据说得翻翻APUE来看...