文件所有权在不同系统之间如何受到影响?


10

据我了解Unix文件系统,Unix系统上的任何文件都必须属于该系统的组和用户。文件不能属于系统上不存在的组或用户。

根据该假设,会想到一些问题。在计算机之间通过闪存驱动器,CDROM或网络共享传输媒体时,组和用户属性会发生什么情况。文件在新系统中属于谁?

您可以限制数据只在您的系统上工作吗?(这里不讨论加密,只是基础知识。)

另外,当您在两台计算机之间传输数据时,有几种方法可以确保组和用户属性保持不变(属于root的将属于新系统上的root,与普通用户相同)。


第一句话的语法问题
tshepang 2011年

@thsepang ..不错的抓,固定
斯特凡

Answers:


6

在所有本机UNIX文件系统上,文件所有权以用户和组ID的形式存储。对于基本的NFS操作(尽管至少在NFSv4中还有其他可能性)和传统的unix存档格式(例如tar)也是如此。

文件实际上可以属于不存在的用户或组。该文件属于一个特定的ID,但没有义务列出该ID /etc/passwd或其他用户或组数据库。例如,如果您将用户数据库存储在NIS或LDAP上,而数据库服务器暂时无法访问,则用户的文件仍然存在。

将可移动媒体从一个系统传送到另一个系统时,应确保相关的用户名和组ID匹配,或者忽略所有权(例如,通过使用非Unix文件系统)。根有点特殊情况,因为根的定义特征是在任何地方用户ID均为0。

控制物理上拥有媒体的人将如何处理数据的唯一方法是使用一种固有的保护手段,即一种不依赖于他们如何访问系统并保留某些东西给自己的保护手段。您可以使用数学上的保护手段:加密(加密以确保机密性,签名完整性;将密码保留给自己)或物理保护手段(例如上锁的盒子)。


3

大多数Unix文件系统中的每个文件和目录都有一个关联的数字组和用户ID。然后有一个ID到名称的映射(对于用户是/ etc / passwd,对于组是/ etc / group)。当您将文件传输到另一个系统时,数字ID保持不变。新系统上可能没有带有该ID的名称。因此,如果执行ls -l,您将看到数字而不是用户名。

root用户始终具有用户ID 0,因此在每个系统上都将相同。如果打算经常移动文件,则应确保两个系统之间共有的用户在每个系统上具有相同的用户ID。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.