如何将ACL设置为类似于Safari.app的文件夹?
ls -lde /Applications/Safari.app/
drwxr-xr-x@ 3 root wheel 102 Jun 22 13:25 /Applications/Safari.app/
0: group:everyone deny delete
我尝试过使用:
sudo chmod -R +a "group:everyone deny delete" /Applications/xyz
ls -lde xyz
drwxr-xr-x+ 2 root admin 68 Oct 13 16:26 xyz
0: group:everyone deny delete
但我仍然可以删除文件夹xyz。
任何帮助都会很明显。
答案 0 :(得分:1)
通常,人们无法拒绝sudo rmdir /Applications/xyz
,也不能拒绝sudo mv /Applications/Safari.app /Applications/Safari.app.bak.
在正常情况下,root可以执行任何所需的操作。
但是“系统完整性保护” 安全层在启用后会保护Apple的应用程序(默认情况下:请与csrutil status
一起使用。出于开发原因,我使用了csrutil enable -without fs
)。有关此SIP的说明,请参见this answer。
无根功能如下所示:
$ ls -le@d /Applications/Siri.app
drwxr-xr-x@ 3 root wheel 96 Oct 19 2017 /Applications/Siri.app
com.apple.rootless 0
0: group:everyone deny delete
因此,即使根用户也无法在SIP下将其删除。
OTOH,这在SIP下不起作用:
$ sudo xattr -w com.apple.rootless "" /Applications/xyz
xattr: [Errno 1] Operation not permitted: '/Applications/xyz'