| ||
以下是代码:
当创建一个文件的时候,系统保存了有关该文件的全部信息,包括: " 文件的位置。 " 文件类型。 " 文件长度。 " 哪位用户拥有该文件,哪些用户可以访问该文件。 " i节点。 " 文件的修改时间。 " 文件的权限位。 让我们用touch命令创建一个文件: 以下是代码:
创建了一个空文件,现在用ls -l命令查看该目录下文件的属性(我这里用中文版): 如下: 以下是代码:
以下是代码:
BTW:要检查该目录所有文件占用的空间应该用这个命令:du。 譬如说前面说的36是如何计算出来: 首先我们要先了解你所用的文件系统的IO BLOCK(中文叫作簇)为多少,在你所使用的这个文件系统的IO BLOCK大小是4096 Bytes。 他意义是文件系统最小的读写及分配单位,每次读写操作你都不能小于这个尺寸。即使你的文件是只有一个字节。而且文件在硬盘上的存储也是以这个为单位,就是说如果文件尺寸小于这个值,那么它在磁盘上占用的空间就是4096字节。 占用空间的具体算法是:(进一(文件尺寸/4096))×4096。根据这个你就可以计算出你所列举的例子中的文件的空间使用状况:34890除以 4096,大约等于8.5,进一法取得为9,就是说文件在磁盘上占用了9个BLOCk,每个BLOCK为4K,所以这两个文件占用的空间就是36K。 这个规则也适合于目录,不过不会出现为0的目录,即使是空目录 -rw-r--r-- :这是该文件的权限位。 第一个横杠:指定文件类型,表示该文件是一个普通文件。(所创建的文件绝大多数都是普通文件或符号链接文件)。 除去最前面的横杠,一共是9个字符,他们分别对应9个权限位。通过这些权限位,可以设定用户对文件的访问权限。对这两个文件的精确解释是: 以下是代码:
在创建的时候并未给属主赋予执行权限,在用户创建文件时,系统不会自动地设置执行权限位。这是出于加强系统安全的考虑 BTW:文件的属主组并不一定就是所有者所在的缺省组,而可以是任何一个跟该文件所有者无关的用户组。为了方便,还是统称属主,属组和其它 文件类型 前面提到的第一条横杠,表示该文件是普通文件型 文件类型有七种,它可以从ls -l命令所列出的结果的第一位看出. 七种类型: 以下是代码:
文件的权限位中中每一组字符中含有三个权限位: 以下是代码:
如: 以下是代码:
使用chmod来改变权限位 这一命令有符号模式和绝对模式。 符号模式 chmod命令的一般格式为: chmod [who] operator [permission] filename w h o的含义是: 以下是代码:
o p e r a t o r的含义: 以下是代码:
p e r m i s s i o n的含义: 以下是代码:
例如: 以下是代码:
举如 当创建temp文件时,它具有这样的权限: 以下是代码:
如果要使属主和属组用户具有有执行权限,并取消其他用户(所有其他用户)的写权限,可以用: 以下是代码:
这样,该文件的权限变为: 以下是代码:
绝对模式 chm d命令绝对模式的一般形式为: chmod [mode] file 其中m o d e是一个八进制数。 在绝对模式中,权限部分有着不同的含义。每一个权限位用一个八进制数来代表,如 以下是代码:
在设定权限的时候,只需按照上面查出与文件属主、属组用户和其他用户所具有的权限相对应的数字,并把它们加起来,就是相应的权限表示。 可以看出,文件属主、属组用户和其他用户分别所能够具有的最大权限值就是7。 再来看看前面举的例子: 以下是代码:
相应的权限是: 以下是代码:
有一个计算八进制权限表示的更好办法,如下: 以下是代码:
这上面这相,更容易地计算出相应的权限值,只要分别针对文件属主、属组用户和其他用户把相应权限下面的数字加在一起就可以了。 temp文件具有这样的权限: 以下是代码:
把相应权限位所对应的值加在一起,就是7 4 4。 如: 以下是代码:
下面举一个例子,假定有一个名为temp的文件,具有如下权限: 以下是代码:
现在希望对该文件可读、写和执行, root组用户对该文件只读,可以键入: 以下是代码:
如果文件可读、写和执行,对其他所有用户只读,用: 以下是代码:
如果希望一次设置目录下所有文件的权限,可以用: 以下是代码:
这将使文件属主和属组用户都具有读和写的权限,其他用户只具有读权限。 还可以通过使用- R选项连同子目录下的文件一起设置: 以下是代码:
这样就可以一次将/ temp目录下的所有文件连同各个子目录下的文件的权限全部设置为文件属主和属组用户可读和写,其他用户只读。使用- R选项一定要谨慎,只有在需要改变目录树下全部文件权限时才可以使用。 |
Unix/Linux 文件安全与权限
最新推荐文章于 2024-11-09 00:15:00 发布