acm-header
登录

ACM通信

Kode恶性

测井的逻辑


测井逻辑,图解漫画

图片来源:Alicia Kubista / Andrij Borys Associates

回到顶部亲爱的KV

我在一个相当开放的环境中工作,这里的开放指的是许多人都有能力成为我们服务器的根用户,这样他们就可以在出现故障时进行修复。当公司刚成立时,只有几个人负责所有的工作,如果服务器死机或进程脱离我们,有不同职责的人必须加入进来提供帮助。那是几年前的事了,但仍然有许多人拥有根本的权力,有些人是因为遗产,有些人是因为他们被认为太重要而不能限制。问题是,这些遗留用户中的一个坚持以根用户身份执行几乎所有的操作,并且实际上使用sudo命令只执行Sudo su -.每次我需要调试这个人开发的系统时,我都要花上两到四个小时的时间,因为他也不记录他所做的工作,当他完成时,他只是报告说:“修好了。”我想你会同意这是令人发狂的行为。

根路由

回到顶部

亲爱的路由

我想告诉你,你可以做一件事,然后说,“它是固定的”,但我不能告诉你。我还可以告诉你,下次他再这么做的时候,把他的小指尖取下来,但我敢打赌,人力资源部门肯定不喜欢日本的黑帮仪式。

你的问题与其说是技术问题,不如说是文化问题,因为正如你在信中提到的,有一种技术解决方案可以解决允许用户对系统具有可审计的根权限的问题。很少有人或组织希望以军事风格的安全级别运行他们的系统;而且,在大多数情况下,他们是对的,因为这些类型的系统包含了大量的过度杀戮,正如我们最近所看到的,仍然无法发挥作用。

在大多数环境中,允许绝大多数员工只访问他们自己的文件和数据就足够了,然后给少数那些真正需要访问权限的员工获得更广泛权力的能力。这些受信任的少数人不应该被授予对系统的全面权限,而应该再次给予有限的访问权限,这在使用sudo等系统时非常简单。运行任何一个程序的权限都可以被用户或组列入白名单,拥有一个简短的白名单是保护系统的最好方法。

现在我们来谈谈您关于日志记录的观点,这实际上是关于可审核性的。许多人不喜欢记录日志,因为他们认为这就像被监视一样,而事实证明,大多数人不喜欢被监视。任何处于信任地位的人都应该明白,信任需要经过验证才能维持,而日志记录是维持一群人之间信任的一种方式。日志记录也是回答这个古老问题的一种方式,“谁在什么时候对谁做了什么?”事实上,当你第一次尝试使用sudo时,这一切都被暗示在消息中:

ins01.gif

第三项是漫画书中的一句话蜘蛛侠,但斯坦·李的话与此相关。Unix系统中的根用户可以做任何他们想做的事情,或者是恶意的,或者是因为他们在打字时没有充分思考。通常,使系统恢复正常工作的唯一方法是找出具有root权限的用户对它做了什么,而唯一有机会做到这一点的方法是将操作记录在某个地方。

如果我是这个人的经理,我要么完全取消他的sudo权利,直到他学会如何与他人很好地合作,要么就解雇他。没有人对公司如此有用,以至于他们应该被允许在没有监管的情况下扮演上帝。

KV

回到顶部

亲爱的KV

我最近正在基于现有规范实现新代码。文档是30页的表格,包含名称和值。不幸的是,该文档只能以PDF格式提供,这意味着没有简单的、程序化的方法将表提取到代码中。本来只需要5分钟写几个脚本就能完成的事情,现在却变成了半天的复制和粘贴,其中包含了所有的错误。我知道许多规范——例如,internet rfc(请求评论)——仍然以纯ASCII文本发布,所以我不明白为什么有人会发布一个注定要成为像PDF这样编程上难以处理的代码的规范。

复制,粘贴,纺锤,肢解

回到顶部

亲爱的肢解

显然,你没有欣赏到现代桌面出版所蕴含的美丽和威严。字体的使用,许多fontsand大胆的而且下划线这样可以增加文字的清晰度,就像被火焰之手刻在石头上一样。

你面临的问题要么是过于自负,就像大公司营销部门的某些人开始用粗体、下划线和颜色发送电子邮件,因为他们认为这会引起我们的注意;要么就是你面对的是一个只写标准却从不执行标准的人。无论哪种情况,这都不仅涉及到文档,还涉及到代码。


除了神话,标准和代码并不是写在石头上的。


除了神话,标准和代码并不是写在石头上的。任何必须更改的文档在更改跟踪系统(如源代码控制系统)中都应该是可跟踪的,对于文档和将要编译的代码都是如此。将任何文档保持为可跟踪和可传播的格式的优点是,还可以使用标准的文本操作程序(如sed、cut和grep)以及脚本语言(如Perl和Python)从其中提取信息。虽然其他计算机语言也可以处理文本操作,但我发现许多使用您的建议的人都是使用Perl和Python来处理的。

我也希望生活在这样一个世界中:当有人更新软件规范时,我可以在文档上运行一组程序,提取值,并将它们与我的代码中现有的值进行比较。这既能减少错误,又能提高更新的速度。差异可能仍然需要从视觉上进行检查,而出于基本的偏执和不信任,我也会从视觉上进行检查,但这比打印PDF文件并用钢笔检查或使用PDF阅读器电子方式完成同样的工作要容易得多。虽然有些程序可以帮你删除pdf文件,但都不是很好用;最大的问题是,如果作者在打开Word之前思考30秒,那么就没有必要写规范了。

关于IETF (Internet Engineering Task Force),人们可以抱怨的事情有很多,但继续以文本格式发布协议的承诺不在其中。可惜的是,并不是每个人都有Jon Postel来指导他们完成最初的几千个文档,但他们仍然可以从这个例子中学习。

KV

ACM队列的q戳相关文章
queue.acm.org

在活动系统上调试
乔治Neville-Neil
http://queue.acm.org/detail.cfm?id=2031677

跳中多层编程
曼纽尔·塞拉诺,Gérard贝里
http://queue.acm.org/detail.cfm?id=2330089

来自系统管理员对软件供应商的建议-10注意事项
托马斯·a·利蒙切利
http://queue.acm.org/detail.cfm?id=1921361

回到顶部

作者

乔治·v·内维尔·尼尔kv@acm.org)是Neville-Neil Consulting的东主及ACM队列编辑委员会。他从事网络和操作系统代码方面的工作,教授各种与编程相关的课程,并鼓励您的评论、俏皮话和与他相关的代码片段通信列。


版权归作者所有。

数字图书馆是由计算机协会出版的。版权所有©2014 ACM, Inc.


没有找到条目

登录全面访问
忘记密码? »创建ACM Web帐号
文章内容:
Baidu
map