几周前,我在 USB 闪存驱动器上安装了 Linux Mint。我用它将 HFS+ 外部硬盘驱动器的内容复制到桌面上的 Windows 驱动器。然后,我格式化了外部驱动器以在其上安装 Linux,并创建一个大的 HFS+ 分区。我将内容从 Windows 驱动器复制回外部驱动器上的新 HFS+ 分区。现在,一半的文件权限表现得很奇怪。例如,在驱动器上,“/Files”是drwxrwxrwx
,如果我将-rw-r--r--@
Mac 笔记本电脑上的桌面上的某些内容复制到外部驱动器上的“/Files”中,它仍然存在-rw-r--r--@
,但我无法重命名、修改或删除它。为什么会这样?我在 Mac 上没有管理员/root 访问权限,但在 Linux 安装上有。我已经在 Linux 安装的整个驱动器上运行了“chmod -R 777”,我可以在那里修改这些文件,但当它在我的 Mac 上时,权限仍然表现得很奇怪。这是因为我的 Mac 上有不同的用户和组吗?
答案1
在模式行上,“@”通常表示额外的属性,“+”表示额外的权限。 OS X 广泛使用这两种方法,而 Linux 则倾向于不使用(尤其是权限方面)。
在 OS X 上,您可以使用 来查看这些内容ls -le@
,其中-l
是长输出、-e
显示访问控制并-@
显示额外标志(其中一些标志可能会阻止对文件的修改,即使其权限允许)。
在Linux上,您可以使用lsattr
或查看属性lsattr -l
(长输出,更人性化)。然后,如果需要,您可以使用 来更改它们chattr
。特别是,您可能对i
(不可变)属性感兴趣,它可以防止对文件的修改。
getfacl
您可以使用和命令处理 Linux ACL setfacl
,但您可能必须安装这些工具,并且您的文件系统可能不支持它们。