Unix Shell教程:文件安全与权限详解

需积分: 10 2 下载量 155 浏览量 更新于2024-07-27 收藏 810KB PDF 举报
"这篇资源主要介绍了Unix Shell的基础知识,特别是文件的安全与权限管理。内容涵盖了文件权限位、基本命令如chmod、suid/guid、chown、chgrp和umask的算法与用法,以及符号链接的概念。文章还讨论了文件创建时系统保存的相关信息,包括文件位置、类型、长度、所有者、访问权限、i节点和修改时间,并通过实例展示了如何使用ls-l命令查看文件属性。此外,还提到了文件占用空间的计算方法,涉及到了文件系统的IOBLOCK(簇)概念及其对文件存储的影响。" 在Unix系统中,Shell是一种命令解释器,它是用户与操作系统内核交互的接口。了解和掌握Shell基础对于日常的系统管理和编程至关重要。文件的安全与权限管理是Unix系统管理的核心部分,涉及到用户身份、文件所有权、权限设置等多个方面。 文件权限位用于定义不同用户对文件的访问级别,包括读(r)、写(w)和执行(x)三种权限,分别对应于三位二进制数,如7代表所有权限,6代表读写权限,5代表读和执行权限等。`chmod`命令用于改变文件或目录的权限,而`suid`(set-user-id)和`guid`(set-group-id)标志允许用户临时获得文件所有者的权限,这对于执行某些需要特殊权限的操作非常有用。`chown`和`chgrp`命令则用于更改文件的所有者和组。 `umask`是一个环境变量,它定义了新建文件的默认权限。umask的值会从默认的文件权限中减去,从而得到实际赋予新文件的权限。例如,umask为022时,新文件将默认具有rw- r-- r--的权限,即所有者有读写权限,同组和其他用户只有读权限。 符号链接,又称软链接,类似于Windows系统的快捷方式,它指向另一个文件或目录,而不是复制其内容。创建符号链接的命令是`ln -s`。 文件在创建时,系统会保存一系列元数据,包括文件的位置、类型、长度、所有者、组、修改时间以及权限位。例如,`ls -l`命令显示的文件信息中,首行的“总用量”是所有文件占用的总空间,而后的“-rw-r--r--”表示文件的权限,接下来的两组“root root”分别代表文件所有者和组,之后的数字是文件大小,最后的日期和时间表示文件的更新时间。 文件占用空间的计算涉及到文件系统的IOBLOCK(簇)大小。在一个4096字节的IOBLOCK系统中,即使文件只有1字节,也会占用4096字节的空间。计算文件占用的实际空间时,通常会使用“进一法”,即如果文件大小不能被IOBLOCK整除,则向上取整到下一个IOBLOCK的整数倍。这样,文件在磁盘上占用的空间就能准确计算出来。