Linux和Windows中的文件权限区别

5
在Linux中,如果我有一个文件要与一个组共享,并将该文件放在例如USB存储设备上,并将其复制到没有相同组或用户的计算机上,那么新计算机上的任何人都无权访问该文件吗?如果我将只允许用户X读取的Linux文件带到Windows机器上,那么谁可以在Windows机器上阅读它呢?因为用户X(和组)在该机器上不存在。
将Linux文件复制到另一台Linux机器上会得到什么样的安全性?将Linux文件复制到Windows机器上会得到什么样的安全性?
将Windows文件复制到另一台Windows机器上会得到什么样的安全性?将Windows文件复制到Linux机器上会得到什么样的安全性?
请告诉我。
3个回答

14
关于USB密钥:一般来说,USB密钥使用FAT文件系统系列之一;FAT根本不支持安全性,因此一旦将文件复制到其中,安全信息就会丢失。所以对于您的第一个问题,任何拥有USB密钥的人都可以在任何计算机上从任何用户帐户读取它。可以使用另一种文件系统(例如NTFS,它支持安全)格式化USB密钥;在这种情况下,如果目标计算机上不存在帐户(至少在Windows中,必须是域帐户或类似帐户,只给两个帐户命名是不够的),只有可以忽略文件系统权限的用户(例如*nix上的root或Windows上的管理员)才能访问该文件。
至于第二个问题,我不确定100%,但我认为它取决于您如何复制它;像FTP和rcp这样的东西通常不会复制权限,因此我会假设该文件会获得某种默认权限,适用于目标目录,或者内置于复制程序中,具体取决于复制程序的操作方式。
对于Windows而言,据我所知,安全描述符最初是从目标文件夹继承的;权限也再次没有跨计算机持久化。复制后可以进行修改。
总的来说,在未经设计用于传输权限的特定环境中,我会假设将任何文件从一台计算机转移到另一台计算机都会将安全权限重置为默认值(通常是该位置上一个文件所接收到的内容)。

没有任何限制阻止您将USB键格式化为ext3或任何其他文件系统。然而,应该提出这个键的可用性问题。 - Ilya
我相信Ilya关于ext3的说法是正确的。但是,“这个键的可用性问题应该被提出”这句话我不太明白。 - jbu
存在一个适用于Windows的ext2文件系统驱动程序,但并非所有版本都可用,也不受支持且默认未安装:这样的磁盘在Windows中使用起来会更加困难。 - Chris Smith
这是正确的;同样地,使用NTFS格式化的密钥将无法在Windows 95/98/Millenium PC上使用,尽管这些PC此时可能相当罕见。 - technophile
通过可用性,我指的是它不会被大多数PC识别。虽然Windows存在ext2驱动程序,但它绝对没有安装在大多数系统上,并且从我的经验来看质量也值得怀疑。 - Ilya

6
如技术爱好者所说,可移动驱动器通常使用FAT文件系统,因此根本不会复制权限信息。
在*nix机器之间进行更直接的拷贝时,如果写入过程在root下运行,则通常有标志来保留权限位和所有者/组。此外,它们中的大多数通过数字保留用户/组身份。如果没有“全局”用户身份数据库(LDAP、NIS,甚至AD),请务必查找“按名称”身份。
一些例子:
- NFS:假定“按编号身份”,除非您使用某些“压缩”选项使每个文件具有相同的所有者/组。 - cp:'-p'标志保留模式、所有权(按编号)和时间戳。 - scp:'-p'标志保留模式,但通常不保留所有权。 - rsync:只有root可以保留所有权(-o、-g或-p),尝试匹配用户名,但如果不可能则回退到用户ID。

-1

为什么要费心处理权限?

除非你在运行某种服务器,否则它们大多数时间都会妨碍你。

也许从Linux文件系统复制到FAT32、exfat或NTFS文件系统,这样你就不必处理权限了?

这就是我所做的。我通常选择NTFS来在台式机和笔记本电脑之间进行文件“共享”,其中笔记本电脑使用Linux,而台式机使用Windows 7。不能轻松地在*nix笔记本电脑和*nix台式机之间共享,除非进行多次chmod(即使如此也不能保证R/W权限)。

当我尝试在*nix之间共享时,一切都很糟糕。 我需要每个外部驱动器上的任何框中的每个人都具有完全的读/写访问权限。

NTFS的唯一问题是如果你的*nix不写入它或正确关闭它。 然后我必须使用Windows来修复它(也很麻烦)。这也是我保留Windows的原因之一。

我所有的闪存和外部驱动器都是NTFS格式,只有其中两个是fat 32格式,以100%保证Linux不会出现权限问题(即使我有时无法通过chmod更改权限)。

当然,我的数据只是普通的电影、音乐、图片等家庭物品。

但是同样的理论认为,如果您不想或无法在文件中写入权限,则任何人都应该能够从任何操作系统使用该文件。

我甚至已经将一个顽固的文件复制到fat32闪存驱动器上,以便剥离权限,然后再将其复制回来。讨厌输入命令行。

对于我来说,我需要对外部驱动器上的所有数据拥有100%的读取和写入访问权限,适用于所有计算机。

关于使用root - 大多数Linux“供应商”强烈反对使用root进行许多操作。

同样,绕过权限的简单方法是如果您可以复制它,则可以通过将其发送到fat32或ntfs来剥离它。这样就没有安全性了。

如果某些东西非常敏感,以至于您需要文件共享时需要文件安全性,那么为什么要首先共享它呢?

如果您想防止文件被篡改,那么将其刻录到CD / DVD中。那是只读的。即使他们复制并篡改它,原始文件仍然不受影响。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接