Надеюсь, что кто-то сможет объяснить, что, вероятно, довольно очевидно ... но меня смущает.
Представьте себе двух пользователей с правами администратора на нашем сервере (Mac OS X Server 10.5). Зовите их Джо и Боб.
оба пользователя являются членами этих групп:
Staff Group ID: 20
Workgroup Group ID: 1025
Admin Group ID: 80 (assuming "[X] Administer Server" in Workgroup Manager sets this)
Общая папка "devfolder" настроена следующим образом:
POSIX:
Owner: joe read & write
Group: admin read & write
Other no access
ACL:
Workgroup Allow Read & write
Вопрос в том, почему при просмотре одной и той же папки кажется, что право собственности меняется в зависимости от того, кто смотрит?!? Оба смотрят в одну и ту же папку на сервере:
С точки зрения Джо:
xserve:devfolder joe$ ls -l
drwxrwxr-x 6 joe workgroup 204 May 20 19:32 app
drwxrwxr-x 9 joe workgroup 306 May 20 19:32 config
drwxrwxr-x 3 joe workgroup 102 May 20 19:32 db
drwxrwxr-x 3 joe workgroup 102 May 20 19:32 doc
drwxrwxr-x 3 joe workgroup 102 May 20 19:32 lib
И с точки зрения Боба (папка, установленная на его машине через AFP):
bobmac:devfolder bob$ ls -l
drwxrwxr-x 6 bob _bob 264 May 20 19:32 app
drwxrwxr-x 9 bob _bob 264 May 20 19:32 config
drwxrwxr-x 3 bob _bob 264 May 20 19:32 db
drwxrwxr-x 3 bob _bob 264 May 20 19:32 doc
drwxrwxr-x 3 bob _bob 264 May 20 19:32 lib
Теперь, если Боб подключается к серверу через SSH, его выходные данные идентичны выходным данным Джо, как и ожидалось.
Может ли кто-нибудь сказать мне, что делает клиент в этом случае и чего ожидать, когда Боб создает или обновляет файлы в этой папке? Какие инструменты мне нужны, чтобы лучше понять это из командной строки? Это нормально? Возможно, более «чистый» способ, который не запутал бы с «bob _bob»?!?
AFP использует модель разрешений, которая сильно отличается от NFS. Клиенты подключаются с использованием своих учетных данных, а затем доступ к файлам контролируется сервером. В некоторых случаях происходит «сопоставление привилегий», которое вы описываете.
Этот недостаток №2 исправлен в Snow Leopard 10.6. Остальные последствия модели безопасности по-прежнему применимы, но каким-то образом клиент знает, что нужно сообщать «реальные» разрешения, а не только «эффективные» разрешения, как это было раньше.
Дополнительная информация:
Я думаю, что когда у вас есть прямой доступ ко всем файлам, вы получаете реальные права на них. Когда вы монтируете его через AFP, кажется, что он показывает, скажем так, локальные разрешения. (Возможно, он не знает, кто другие пользователи в удаленной системе, и просто определяет, есть ли у вас доступ на чтение и запись к файлу, и дает вам право владения, если вы это делаете, и не показывает вам, если вы этого не сделаете. )
Если Боб изменяет файл, я думаю, вы обнаружите, что разрешения остаются такими же, как при просмотре с сервера. Я действительно не знаю, что происходит, когда он создает файл. Я подозреваю, что атрибуты владения будут соответствовать учетным данным, используемым для получения доступа к общему ресурсу AFP.