chmod 不会为用户设置目录权限

chmod 不会为用户设置目录权限

我正在尝试学习 UNIX 权限以保护原始数据。我的操作系统是 macOS Catalina。

在尝试学习使用时chmod,我遇到了chmod无法按照我要求进行更改的情况。以下是ls -lO@我想更改的文件夹:

[~/Desktop/test--file-permissions]
> ls -lO@
total 0
drwxr-xr-x@ 4 leo  staff  - 128 Jul  4 16:11 test--work
    com.apple.favorite-rank.number#PS    14
    com.apple.macl   72
    com.apple.metadata:_kMDItemUserTags  42

我想使该文件夹及其所有内容都变为只读:

chmod -R 444 test--work

如果我ls -lO@再次这样做,它会显示只有“组”和“其他”的权限被设置为只读,但“用户”权限保持不变:

[~/Desktop/test--file-permissions]
> ls -lO@
total 0
drwxr--r--@ 4 leo  staff  - 128 Jul  4 16:11 test--work
    com.apple.favorite-rank.number#PS    14
    com.apple.macl   72
    com.apple.metadata:_kMDItemUserTags  42

为什么chmod不改变用户权限?(我使用的是 zsh,而不是 bash,如果这会影响任何事情)

编辑:我试图删除所有写权限(即使对于用户而言)的原因是我的目标是锁定和保护外部硬盘上的原始科学数据,以便无论谁将其插入计算机使用(即无论“用户”),文件都不会被意外删除或移动。

编辑2:我在另一篇文章中发现了这一点,这表明访问控制列表(ACL)可能与此有关,但我不知道它是如何工作的:https://superuser.com/a/671456/945371

编辑 3:通过添加输出ls -lO@而不是仅仅ls -l

相关内容