在linux中,如果我有一个文件,我正在与一个组共享,例如,我将文件放在USB记忆棒上,并将其复制到没有相同组或用户的计算机,该文件对这台新电脑上的任何人都没有权限?如果我带一个只允许用户X将其读取到Windows机器的linux文件怎么办?谁可以在Windows机器上阅读它?因为该机器上不存在用户X(和组).
我将linux文件复制到另一台Linux机器会有什么样的安全性?怎么到一台Windows机器?
将Windows文件复制到另一台Windows机器会有什么样的安全性?怎么到linux机器?
请告诉我.
JBU
关于USB密钥:通常,USB密钥使用FAT系列文件系统之一; FAT根本不支持安全性,因此只要将文件复制到其中,安全信息就会丢失.因此,对于您的第一个问题,任何拥有USB密钥的人都可以从任何用户帐户在任何计算机上阅读.可以使用另一个文件系统格式化USB密钥(例如,NTFS,它确实支持安全性); 在这种情况下,如果帐户(在Windows中,至少,它必须是域帐户或类似的,只是命名两个帐户相同将不会这样做)在目标计算机上不存在,只有可以忽略文件系统权限的用户(例如root on*nix或Administrator on Windows)将能够访问该文件.
对于第二个,我不是百分百肯定,但我相信这取决于你如何复制它; 像FTP和rcp这样的东西通常不会复制权限,所以我假设文件获得目标目录的某种默认权限,或者复制程序中内置的默认权限,具体取决于复制程序的功能.
对于Windows,据我所知,安全描述符最初是从目标文件夹继承的; 权限再次不是跨机器持久化的.它可以在复制后修改.
通常,除了在旨在传输权限的特定环境中,我会假设将任何文件从一台计算机传输到另一台计算机会将安全权限重置为默认值(通常是该位置的新文件将接收的任何内容).
正如technophile所说,可移动驱动器通常使用FAT文件系统,因此根本不会复制任何权限信息.
在*nix机器之间的更多"直接"副本上,如果写入过程在root下运行,通常会有标志来保留权限位和所有者/组.此外,它们中的大多数都通过数字保留用户/组身份.如果没有"全局"用户身份数据库(LDAP,NIS,甚至AD),请务必查找"按名称"标识.
一些例子:
NFS:假定"按号码标识",除非您使用某些"壁球"选项使每个文件都是同一所有者/组.
cp:' - p'标志保留模式,所有权(按编号)和时间戳.
scp:' - p'标志保留模式,但(通常)不保留所有权
rsync:只有root可以保留所有权(-o,-g或-p),尝试匹配用户名,但如果不可能则回退到userid.