Мы планируем развернуть SMB-дома на Debian (5.0.3) для наших клиентов Mac, а не покупать четыре новых сервера Xserve. Наши тестовые серверы собраны и работают нормально. Клиенты Windows работают отлично, но мы столкнулись с проблемой с OS X (10.6.x и 10.5.x). Мы идем по этому пути вместо файловых серверов Windows из-за целого ряда других проблем, которые возникают при этом.
В частности, при монтировании общего ресурса SMB с включенными расширениями unix и удаленным сервером, привязанным к AD, искатель не может сохранять файлы на общем ресурсе, вместо этого прикоснувшись к файлу, а затем вылетев с ошибкой ввода-вывода -36, создание папки в порядке. Копирование файлов в терминале проходит нормально, и проблема, похоже, ограничивается поисковиком.
Проблема возникает (я думаю), когда удаленный UID / GID передается при использовании расширений unix. OS X использует свою собственную winbind idmap (odsam) для определения эффективного UID / GID от пользователей и групп AD, в то время как мы используем избавленную карту на сервере. Следовательно, существует несоответствие прав собственности, которое нашедший предпочитает соблюдать.
Как OS X, кажется, справляется с этим, заключается в использовании удаленных uid и gid на уровне разрешений файла (см. Ниже), а затем установка OS X acl, предоставляющая локальному uid / gid соответствующие разрешения для файла. Я думаю, что поисковик касается файла (что позволяет ядро из-за ACL), а затем проверяет разрешения файловой системы и выходит из строя с ошибкой ввода-вывода.
На клиенте
fc-003353-d:homes2 root# ls -led test/
drwx------+ 2 135978 100513 16384 Feb 3 15:14 test/
0: user:jfrench allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit
1: group:ARTS\domain users allow
2: group:everyone allow
3: group:owner allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit,only_inherit
4: group:group allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit,only_inherit
5: group:everyone allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit,only_inherit
Мы безуспешно пробовали следующее:
В настоящее время мы используем обходной путь, который заключается в том, чтобы просто отключить расширения unix, которые заставляют Mac просто монтировать общий ресурс как локальный пользователь с u = rwx perms. Это работает для большинства вещей, но приводит к тому, что некоторые приложения, которые ожидают, что определенные химические завивки ломаются, неявно ломаются. В худшем случае мы продолжим работать таким же образом, но хотели бы, чтобы расширения unix были включены.
С уважением.
Соответствующая конфигурация SMB ниже:
[global]
workgroup = ARTS
realm = *snip*
security = ADS
password server = *snip*
unix extensions = yes
panic action = /usr/share/panic-action %d
idmap backend = rid:ARTS=100000-10000000
idmap uid = 100000-10000000
idmap gid = 100000-10000000
winbind enum users = Yes
winbind enum groups = Yes
veto files = /lost+found/aquota.*/
hide files = /desktop.ini/$RECYCLE.BIN/.*/AppData/Library/
ea support = yes
store dos attributes = yes
map system = no
map archive = no
map readonly = no
Вы можете попробовать: расширения unix = нет
Другая статья Apple TS1564 ссылается на более раннюю проблему в 10.3 / 10.4, приводящую к ошибке -36 с общими ресурсами SMB.
По-видимому, это связано с открытым текстом и шифрованной аутентификацией ... что еще нужно учитывать?
Ура, М.
Вы можете изучить настройки именованных потоков. У Apple есть статья в теме. «Mac OS X v10.5, v10.6: об именованных потоках на SMB-подключенных NAS, Mac OS X и серверах Windows; могут появляться предупреждения« -36 »или« -50 »»
Проблема, вероятно, связана с ошибками Finder в том, как он обрабатывает вилки ресурсов как расширенные атрибуты.
Я бы попробовал:
ea support = нет
Это может привести к получению файлов ._, но пока Apple не позаботится о том, чтобы их файловый менеджер стал совместимым, вам придется иметь дело с этим.
Изменить: я только что заметил, что вы действительно пытались их отключить. Вот где я столкнулся со всеми проблемами Finder. После небольшого поиска похоже, что отключение расширений unix - единственное исправление, о котором сообщалось.
Просто чтобы уточнить: ваш обходной путь - установить unix extensions = no в /etc/smb.conf на КЛИЕНТЕ, верно?
Потому что я пробовал это, но все равно получаю ошибку 36.
У меня сама была эта проблема, и я нашел гораздо более простое решение на http://osxdaily.com/2015/02/21/fix-error-code-36-finder-mac-os-x/.
На вашем Mac откройте терминал и запустите dot_clean
напротив папки назначения вашего загружаемого файла.
Например. Я скачиваю все свои файлы в ~/Downloads
папку, поэтому я запускаю:
dot_clean ~/Downloads
После этого повторная попытка загрузки прошла успешно.