Назад | Перейти на главную страницу

Каталог пользователей OSX - как некоторые получили ACE группы: все запрещают удаление?

Я немного знаю о ACL по давнему опыту, но никогда не проверял их в OSX (в настоящее время у меня есть стандартная версия 10.6.7, не серверная на автономном iMac). Я только что заметил, что некоторые учетные записи пользователей без прав администратора, которые я создал недавно (чейнджер и тест), имеют ACE для всех: deny delete.

У моей собственной учетной записи администратора нет ACL, как и у учетной записи без прав администратора, которую я создал сегодня.

Я запутался.

A) Разве это не означает, что никакие файлы не могут быть удалены кем-либо из этих каталогов (чейнджер и тест)? Б) Есть идеи, как они туда попали?

Это мой каталог / 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

Как отмечает churnd, это объект по умолчанию, хотя он находится не в / Users, а в самих домашних каталогах, заполненных в / Users, чтобы предотвратить случайное удаление.

Он присутствует по умолчанию во время создания домашних каталогов, потому что новые домашние каталоги создаются на основе шаблона, найденного в / System / Library / User Template. Именно для этих файлов списки ACL указаны в списке свойств.

В версии 10.6 в каталоге / var / db / Receiver списки ACL по умолчанию указываются в списках свойств. Ниже приведен пример, в котором я использую значения по умолчанию команда для чтения ключа PathACLs в одном из основных файлов .plist, созданных при первоначальной установке ОС.

[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.

Это значение по умолчанию в OS X 10.6. У меня тоже есть. Он не позволяет кому-либо удалить каталог / Users, так как это системный каталог.