文件保护有三种方式:口令保护、加密保护、访问控制。
一、口令保护
口令保护:为文件设置一个口令,用户请求访问该文件时必须提供口令。
口令一般存放在文件对应的FCB或索引节点中。用户访问文件前需要先输入口令,操作系统会将用户提供的口令和FCB中存储的口令进行对比,如果正确,则允许用户访问文件。
优点:保存口令的空间开销不多,验证口令的时间开销也很小。
缺点:正确的口令存放在系统内部,不够安全。
二、加密保护
加密保护:使用某个“密码”对文件加密,在访问文件时需要提供正确的“密码”才能进行正确的解密。
以一个最简单的加密算法——异或加密为例。假设用于加密/解密的“密码”为01001。
假设原始文件的数据如下
用原始数据和密码进行异或运算得到加密的结果。
当使用正确的密码进行解密时,就可以得到正确的文件原始数据。
如果使用了不正确的密码进行解密,得到的就是错误结果。
优点:不需要在系统中存储“密码”,提高了安全性。
缺点:加密/解密(编码/译码)需要花费一定的时间。
三、访问控制
访问控制:在每个文件的FCB(或索引节点)中增加一个访问控制表(Acess-Control List,ACL),该表记录了各个用户可以对该文件执行哪些操作。
通常以组为单位,标记各组用户可以对文件执行哪些操作。类比网站游客、用户、VIP用户、管理员有不同的操作权限。
假设分为系统管理员、文件主、文件主同伴、其他用户几个分组,当某用户想要访问文件时,系统会检查该用户所属的分组是否有相应的访问权限。
这种方式灵活,可以实现复杂的文件保护功能。
注:如果对某个目录进行了访问权限的控制,那也要对目录下的所有文件进行相同的访问权限控制
四、小结