为什么会有 Root 权限?

2021-03-05 21:33:25 +08:00
 exc
5242 次点击
所在节点    问与答
74 条回复
PureWhiteWu
2021-03-06 23:07:09 +08:00
@exc 并不是,这个有限集是编译时确定的。
NilChan
2021-03-07 01:00:50 +08:00
@exc 那系统怎么知道你离职?还不是要一个 admin 用户去输入这个信息。
Whurry
2021-03-07 02:23:07 +08:00
垃圾问题,我真是垃圾,为什么要点进来。
GeruzoniAnsasu
2021-03-07 08:27:53 +08:00
lz 很敏锐啊,一句话说到了一个盲点
个人的感觉,注意是感觉,我并没有很清楚地 get 到我想表达的逻辑线,是:

一个系统如果想完成自我指涉,那么自我指涉这个代词对象就是 root
类似 this-> operation
操作系统需要一个 get_self_user() -> operation

如果一个系统运行完全不需要自指,那自然不会需要 root 和类似的超级权限
但不需要自指的系统是否是完备的,我 get 不到那层逻辑
GeruzoniAnsasu
2021-03-07 08:30:58 +08:00
@xuanbg @exc

#59 说的跟我想表达的很像

但我存在另一个疑问(可能也是 lz 的疑问),为什么自指是必要的,或者什么样的系统是必须能自指的。不知道有没有相关解答
GeruzoniAnsasu
2021-03-07 09:21:35 +08:00
又看了一遍问题

其实完全可以将系统设计成无初始用户,无需硬编码超级用户的样子。但这样的系统初始化时就需要你用其它手段从外部往它的数据库里写一个新用户进去,也就恰恰说明了这个系统是不完备的——这个系统不能只通过系统自己完成所有功能,比如初始化,因此它不完备。

但这种完备性并不是这个系统的必要指标,完全能接受装机时通过另一个程序来生成初始状态,所以这个时候也的确并不需要 root
xuanbg
2021-03-07 09:35:43 +08:00
@GeruzoniAnsasu 归根结底,就是谁是 root 的问题。因为操作系统本身就是 root,而业务系统怕是要上溯好几层才到 root 。而且业务系统并不需要,也没有必要完备,要不然还要操作系统做什么呢。
exc
2021-03-07 11:03:55 +08:00
@xuanbg 你说的没错,不过如果把时间拉长到 50 年,100 年之后呢,又会发生什么?这个操作系统是否还能自举?
exc
2021-03-07 11:07:21 +08:00
@PureWhiteWu 这。。。获取 Root 权限的用户依然可以自动拥有改变后的权限集呀。抱歉,我 get 不到你的点。
exc
2021-03-07 11:27:06 +08:00
@NilChan 当然是事件通知了,至于(离职)事件是如何产生的,有很多种可能性吧。当然现有的系统无法自动发现这些事件,需要依赖人工触发,但理论上,当数据完备时,这些事件是可以由系统自动发现并执行的。
exc
2021-03-07 11:41:24 +08:00
@GeruzoniAnsasu 没错,完全可以将系统设计成无初始用户,无需硬编码超级用户的样子。不过我认为,有 Root 权限的系统反而是不完备的,因为他需要依赖外部(输入)实现初始化。
oliverchen
2021-03-07 17:26:13 +08:00
这样讨论似乎不会有结论。不如限定一个已有的场景,然后假设它没有 root,看这个系统会有什么问题,有什么需求,接着再想切实可行的方案去解决问题、满足需求,最后看一下终极方案,跟 root 用户这种设计有多大差异。
Mutoo
2021-03-08 00:06:13 +08:00
你永远不会知道拿着 root 权限的会是什么样的 app,不知道他们会干多可怕的事,所以把「权利放进笼子里」总是比较稳妥的,防止某些不是傻就是坏的 app 把系统搞崩。
NilChan
2021-03-08 02:04:45 +08:00
@exc 那你说说理论上是怎样?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/758933

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX