После выхода последней версии Mac OS X 10.7 Lion, пропал доступ к общим каталогам через протокол samba. Вернее, компьютеры под управлением Mac OS X общие папки на ресурсах windows видят, а вот обратной совместимости нет. Это связано с тем, что samba, теперь имеет лицензию GPLv3, что и заставило Apple разработать полностью свой модуль без обратной совместимости.
Для начала нужно установить XCode.
Затем скачать и установить последнюю версию пакета MacPorts — систему для установки программного обеспечения, распространяемого в исходных кодах.
После установки MacPorts открываем терминал.
Устанавливаем последнюю версию samba3:
sudo port install samba3
После автоматической закачки и установки всех необходимых для работы пакетов приступаем к конфигурированию:
sudo vi /opt/local/etc/samba3/smb.conf
Если вам не удобно использовать редактор vi, вы можете установить Midnight Commander: sudo port install mc, и редактировать файл им. Только не забудьте запустить его с правами root: sudo mc.
Вот примерный файл конфигурации, в этом примере предоставлен доступ без пароля:
[global] workgroup = homenet ; имя рабочей группы netbios name = MacBook ; имя рабочей станции ; общая папка пользователя john - весь домашний каталог [john] comment = john path = /Users/john available = yes guest ok = yes create mask = 644 directory mask = 755 read only = no ; общий доступ к внешнему жесткому диску [EXTERNAL] comment = EXTERNAL path = /Volumes/EXTERNAL available = yes guest ok = yes create mask = 644 directory mask = 755 read only = no
Настраиваем автоматический запуск сервиса samba3. Создаем еще 2 файла: org.samba.smbd.plist иorg.samba.nmbd.plist.
Первый файл:
sudo vi /Library/LaunchDaemons/org.samba.smbd.plist
Содержимое файла:
< ?xml version="1.0" encoding="UTF-8"?> < !DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.samba.smbd</string> <key>OnDemand</key> <false></false> <key>ProgramArguments</key> <array> <string>/opt/local/sbin/smbd</string> <string>-F</string> </array> <key>RunAtLoad</key> <true></true> <key>ServiceDescription</key> <string>samba</string> </dict> </plist>
Второй файл:
sudo vi /Library/LaunchDaemons/org.samba.nmbd.plist
Содержимое файла:
< ?xml version="1.0" encoding="UTF-8"?> < !DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.samba.nmbd</string> <key>OnDemand</key> <false></false> <key>ProgramArguments</key> <array> <string>/opt/local/sbin/nmbd</string> <string>-F</string> </array> <key>RunAtLoad</key> <true></true> <key>ServiceDescription</key> <string>netbios</string> </dict> </plist>
Останавливаем и запрещаем запуск штатных сервисов samba:
sudo launchctl stop com.apple.netbiosd sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.netbiosd.plist
Активируем свои сервисы:
sudo launchctl load /Library/LaunchDaemons/org.samba.smbd.plist sudo launchctl load /Library/LaunchDaemons/org.samba.nmbd.plist