OSX 用户目录 - 某些人如何获得组的 ACE:每个人都拒绝删除?

OSX 用户目录 - 某些人如何获得组的 ACE:每个人都拒绝删除?

我从很久以前的经验中了解到一些 ACL,但从未在 OSX 中检查过它们(目前我在独立 iMac 上安装了 10.6.7 标准版,非服务器版)。我刚刚注意到,我之前创建的一些非管理员用户帐户(changer 和 Test)的 ACE 为 everyone:deny delete。

我自己的管理员帐户没有 ACL,我今天创建的非管理员帐户也没有。

我很困惑。

A) 这是否意味着任何人都无法从这些目录(changer 和 Test)中删除任何文件?B) 知道它们是如何到达那里的吗?

这是我的 /Users 目录

mimac:~ frank$ ls -le /Users
total 0
drwxrwxrwt   4 root     wheel   374 Sep 25  2010 Shared
drwxr-xr-x+ 15 Test     staff   612 Dec  2 13:11 Test
 0: group:everyone deny delete
drwxr-xr-x+ 11 changer  staff   510 Apr  1 00:07 changer
 0: group:everyone deny delete
drwxr-xr-x@ 67 frank    admin  3536 Apr  4 16:06 frank
drwxr-xr-x  11 newone   staff   408 Apr  6 02:07 newone

答案1

正如 churnd 所指出的,它是一个默认实体,尽管它不在 /Users 上,而是在主目录本身上,填充在 /Users 下,旨在防止意外删除。

在创建主目录时,它默认存在,因为新的主目录是基于 /System/Library/User Template 中的模板创建的。这些文件的 ACL 在属性列表中指定。

在 10.6 中,在 /var/db/receipts 目录中,默认 ACL 在属性列表中指定。下面是一个例子,我使用默认值命令读取操作系统初始安装时创建的主要 .plist 文件之一中的 PathACLs 键。

[root@lithium5 19:13:43 /var/db/receipts]# defaults read /var/db/receipts/com.apple.pkg.Essentials PathACLs
{
    Applications = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
    "Applications/Utilities" = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
    Library = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
    "System/Library/User Template/English.lproj/Desktop" = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
    "System/Library/User Template/English.lproj/Documents" = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
    "System/Library/User Template/English.lproj/Downloads" = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
    "System/Library/User Template/English.lproj/Library" = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";

此示例代码片段显示组:拒绝所有人删除对于 /Applications 目录之类的内容,以及 /System/Library/User Template/English 中的文件夹 — 该文件夹是使用 PrefPane 或 createhomedir 命令创建新主目录时显示方式的来源。

答案2

这是 OS X 10.6 的默认设置。我也有。它可以防止任何人删除 /Users 目录,因为它是系统目录。

相关内容