用户权限,用户名,用户 id 的问题

你怎么确保是全球唯一的?

64 位有 1.8*10^19 种可能性。

而宇宙中有 3*10^23 颗恒星(估算)。

也就是说 64 位数无法做到每一颗恒星有一个唯一编号。 如果考虑每一颗恒星中的每一个原子。 那么就相差更远了。 因此我认为这些东西都无法保证唯一性。

我觉得你才是死脑筋的那一个。 不抓住常用的情况,却非要抓住一个没什么人会碰到的情况来考虑。

你“没有抓住主要矛盾,没有抓住矛盾的主要方面”

你说的硬盘丢失也不让别人看到数据。 如果要这么做的话,那么很简单。 三个字:密码学

这个我不想和你讨论了,因为我不明白作为一个程序员,你为什么连全球唯一编号都那么纠结,这个应该是程序员的基础常识。

如果我们可以见面的话,我把我的 U 盘给你,就像我前面做的实验那样,你用 windows 打不开我的 U 盘,不需要什么密码学。
当然您别说给我找来美国斯诺登那样的特工,您要是这么说,那就没意思了。

我什么时候说过我是程序员了?

难道只有程序员和运维才能用 Linux?

确实 Windows 这个伪随机数可以尽可能避免重复(但是实际上仍然无法 100% 做到,因为宇宙中所有恒星的总数就是 23 次方了。GUID 可以做到 32 次方种可能性,是恒星总数的 10 次方倍。所以说 GUID 可以给做到给每个恒星生成一个唯一编码,但是宇宙中有 80 次方个氢原子,因此 GUID 无法做到唯一,平均每 10 的 48 次方个氢原子需要共用一个标识符)。

windows 有一个产品序列号,这个就是永远不重复的,当然说永远有些绝对,就像你说的到了恒星数量级或者氢原子数量级就有重复的了,但那是极小的概率事件,微软不会理睬的,使用 windows 的人也不会理睬,因为没有意义。
比如,我为一个文件设置了一个权限,也只有极小的概率(就像你说的,恒星数量级别分之一)的概率遇到和我序列号一样的人,也许到我死我都遇不到这样的另一台 windows,所以没有必要纠结这个,因为恒星数量级别分之一已经足够安全了。你明白了吗?

我认为你的观点比较偏激,我在辩论中刚才也比较偏激,钻牛角尖了。 也浪费了自己几个小时,还不如做几道数学题,背几个单词呢。 还是说声抱歉。我自己也要吸取教训。

如果你是普通桌面用户的话,我建议你不妨把学习、研究的劲头转移到实用的东西上面。 这样下去有可能变成民科的。

不管你信还是不信,windows 就是做到了。设置的严格的权限,即使硬盘被拿走,对方也看不了。

然后又在两台 linux 之间测试了一下 scp 命令,原理和用 U 盘拷贝是一样的,scp 命令拷贝文件时,文件 owner 的 id 保持不变,也就是说这个文件 owner 的 id 是 1000 的话,在第一个 linux 里面 id=1000 的用户叫 lzc1,那这个文件在第一个 linux 中的 owner 就是 lzc1;在第二个 linux 中 id=1000 的用户叫 lzc2,那么 scp 拷过去之后,它的 owner 就变成了 lzc2。

不好意思,这个结论是错误的,我一会在测试结果贴上

:joy: 请问你将 others 的权限都全部开放了. 那你还谈论什么权限呢?!
U 盘本来 就是那样子设计. 应用到硬盘也一样. 一块硬盘 U 盘不会认主人. 它只会认把它挂载的系统. 那个系统的主人是谁那谁就是它的主人. 当然我说的是物理挂载. 不是网络访问! 而且我也不想我的 U 盘拷一次文件我要修改一次权限. 这是多么蛋疼到无聊的事情.

:joy: 假设. 我现在给你我的用户和密码. 请问你有办法弄到我的电脑里的文件或是信息么?.
再假设你是个很厉害的黑客. 你确实有这种能耐. 那我的电脑根本就不存在互联网里. 或是你根本就无法在互联网里找到我的电脑.
再假设. 你真的很厉害. 你确实找到了我的电脑. 可是我并没有开放任何接口让你连入我的电脑. 那你要来的用户密码有什么用?.!
就相当于我给你个地址! 给你一把钥匙. 可是我的大门是里面锁死的. 对外封闭这种东西很简单.
你说的刚好的 ID 和用户名一样. 就相当于是你刚好拿到了我和门锁一样的锁和钥匙. 可是我门是死的. 根本就是开不了的. 你有钥匙又有什么用?!

看来你没有认真看我前面的测试。我说的很清楚了,不想一遍一遍重复了,linux——不认主人;windows——认主人
(这里的主人指的是操作系统,不是某个人)

相当无语的逻辑。
如果我是黑客,我黑那些不会弄接口的人不就完了。——但这个不重要。
最重要的是 ——你这不是讨论问题的方式,你要明白:讨论问题时—— 问题前提条件不能老是变化 。你原来只说口令,那就只讨论口令,别说着说着又加上端口、互联网什么的。或者你一次把前提条件都说全了

如果你是互联网上的机器,又没有封端口,直接用远程桌面、ssh、telnet,别说黑客,电脑小白也可以。
别跟我提什么 sshd 和防火墙,讨论问题时问题的前提条件不能老是变化。

[quote=“holdbelief” 你原来只说口令,那就只讨论口令,别说着说着又加上端口、互联网什么的。或者你一次把前提条件都说全了]

你一定要忽略一切条件讨论问题,又属于什么逻辑呢?[/quote]

:joy: 我想问一下你拿着一把钥匙讨论着怎么去开了和你同一把锁的门的家的家里然后偷什么东西才好. 而完全不忽略你怎么找这个门和你怎么去到那个地方是一种怎样子的逻辑

:joy: 你前面的内容我看了一些. 并没有全部看完. 大概也就是你说的 windows… 微软是保证了全部的 windous 都有一个唯一序列号. 保证了唯一性. 也就是你说的认主人. 你可以让你的硬盘只有同一个序列号的 windows 才能用. 而且是全世界只有一台这样子的电脑.

照你这样子说的话. 一个硬盘刚出厂的时候没有主人! 然后我拿来了装 windows. 那就是 windows 就认主人了. 然后我重装系统.windows 又重新认主人了. 同一块硬盘而已

我感觉楼主的思维和大家的不一样。

就好比这样,我们现在想要知道你去到平行世界后能不能接手那个世界里与你同名的人的财产。那么首要问题就是怎么穿越,穿越的方式是身穿还是魂穿。楼主直接就隐含假设说你已经在那个世界了。那黑客已经在你电脑上了还需要讨论怎么黑你吗?黑的最重要过程:侵入,你假设人家已经完成了,那这个话题就已经没有讨论的必要了。

这个问题同样如此。要讨论这个,至少要达成以下几点共识:

  1. Linux 系统专有格式的磁盘(ext4 等),在原系统关闭或者拆下硬盘的情况下,原有的权限会不会继续存在于硬盘之上?或者这么说,没有 Linux 或用不同的 Linux,能不能读原来的权限?

  2. 一个硬盘分区能否在同一时间被来自两个系统的两个用户访问?通过什么方式?

  3. 挂载(mount)是不是一种映射?如果是,它是否尊重原有权限,是怎么映射的?NFS 共享同理。

楼主现在是这些问题都假设服从自己的思路,然后讨论,可大家并不认同你的假设,因为你认为的东西按照我读帖子对你下结论的方式的了解,以及你说你是新人,并不一定是绝对真理。debate 是有前提的,现在明显鸡同鸭讲。

建议楼主重头思考要通过几个步骤才能到达你提问的那种结果,夯实基础,达成共识。毕竟我们是一个科学技术论坛不是一个科学幻想论坛。如果你真的有你说的那么强(程序员云云),那这个问题对你来说应该已经是不需要讨论的常识了,既然你依然需要问,那么我觉得是你的思考方式或者前提假设出了问题。

1、如果是 EXT4,在原系统关闭或者拆下硬盘的情况下,原有的权限会继续存在于硬盘之上,用 linux 或者其他 linux 当然可以认出来,因为不论什么发型版都识别 ext4,windows 嘛……windows 连 ext4 都不识别,更不要说 ext4 里面的权限了。
2、一个硬盘同时挂载到另个 linux 上我没做到,我原先做到的是 virtualbox 的一个共享功能,它可以做到多个系统(多个 linux 甚至多个 windows)共享一个硬盘区域,但这属于 virtualbox 自带的功能,而且都是只读的,所以我没做到 真正的 多个 linux 同时挂载一块硬盘,这个时我原先理解错了。
3、mount 是一种映射,但这和我做的实验结论完全不冲突,我做的实验结论也是这样的——尊重原有的权限, 所以我不知道你什么意思。

请您再仔细看看我的结论,和你说的第三条完全不冲突,如果一个操作系统能够识别一个文件系统,那他就会尊重原有的权限,如果它不能识别文件系统,那它只能想其他办法了——例如 linux 对于 FAT 和 NTFS 来说。

我所有的东西都是经过我亲自测试的, 并且现实生活中可能遇到。—— 你凭什么说我是在幻想?

实践是检验真理的唯一标准,我水平不高,所以 我没测试过的东西我不写 ,反问一句,你们写的都是测试之后的结论吗?就本帖而言,有很多人的话和实践之后的结果不一样。 ——包括女王在 5 楼的发言也是错的。 ——所以是你在幻想还是我在幻想?

没测试过也无所谓,我很虚心的请教问题,你们帮我我很感激, 但说话要就事论事,别动不动就给别人扣帽子 ——你凭什么说我是幻想?

至于程序员,只不过谈到全球唯一数时,那个哥们竟然用宇宙中的恒星和氢原子证明微软的全球唯一可能是不唯一的,我对他的脑袋实在无语了,不知道该怎么解释,才说大多数人(包括程序员)应该知道的常识啊,这东西还让人如何解释呢?——亏他能想出来这样的例子。