如果,我是说如果,每当有用户为一项新功能提出建议,但是这项新功能实际上是一个安全漏洞时,我就可以得到一枚金币的话,我估计会有很多金币。
举个例子,”我希望一个文件是全局可写的,也就是说,任何用户都可以往里面写入数据。这压痕我的程序就可以把它当做一个通用数据库来使用了”。
关于这项设计,我的一位安全团队的同事指出来另外一个问题:磁盘配额。即使文件中的大部分条目属于其他人,创建该文件的人仍需为该文件所消耗的磁盘空间付费。如果你在安装程序中创建该文件,那么它很可能由管理员所拥有。管理员不受配额限制,这意味着每个人都可以免费将他们的数据加入文件中! (使用备用数据流,这样你就可以将数据存储在那里,而不会影响文件的普通用户。)如果文件在系统分区上(可能是这样),那么用户可以尝试填满所有可用磁盘空间并使系统崩溃。
文件不会让你对它的访问控制实施精细化的控制。如果你授予用户对一个文件的写入权限,则该用户可以写入文件的任何部分。该用户可以以独占模式打开文件并防止其他任何人访问它。另外,用户还可以将无效数据写入到文件中,试图迷惑机器上的其他用户。
换句话说,用户可以对系统进行更改,从而影响其他用户如何使用该系统。这种”影响其他用户”的能力是为管理员保留的。在一个优秀的操作系统里,一个没有特殊权限的用户应该只被允许”搞砸”自己的生活,他不应该被允许扰乱其他用户的生活。
总结
现实世界是一个有级别的世界,所以我们在虚拟的数字世界里,也需要设计一个层次化的系统。
权限的设计不能太紧,但也不能太松。
最后
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!