Простой способ обеспечить доступ из Solaris к файлам Windows Server
Задача
Есть необходимость читать и записывать много небольших файлов на Windows 2003R2 Server с клиента, работающего на Solaris 10 Update 5.
Первое, что приходит в голову – настроить SAMBA для Solaris 10. Но, очевидно, это не самый простой способ – хотя бы потому, что SAMBA нужно найти, установить и настроить в Solaris 10.
Чуть позже вспоминаем про NFS, а также что Services for UNIX, в который входит NFS server и client встроено в Windows 2003R2 Server. Получается, что все, что нам нужно у нас уже есть. Осталось только настроить.
Первый шаг
Настройка Server for NFS.
Запускаем через Win-R оснастку nfsmgmt.msc
Выбираем правым кликом Server for NFS – properties, настраиваем регистрацию событий в журнал. Это сильно поможет при отладке. Все остальное рекомендую оставить по умолчанию. Стартуем или останавливаем и стартуем сервис.
Второй шаг
Создание разделяемого каталога.
Запускаем через Win-R интерпретатор командной строки cmd.exe
Создаем сам каталог
Mkdir c:\sources\share
И запускаем его обслуживание через NFS Server
Nfsshare source=c:\source\share –o rw noroot anon=yes
Эта команда создает разделяемый каталог с сетевым именем source, доступный с любого узла, с возможностью чтения/записи в него, и с возможностью анонимного доступа.
Третий шаг
настройка file permission для созданной папки.
Запускаем через Win-R интерпретатор командной строки cmd.exe
И предоставляем полный доступ к каталогу незарегистрированных пользователей.
cacls c:\sources\share /E /G "NT AUTHORITY\ANONYMOUS LOGON":F
Важно! Нужно разрешать полный доступ именно NT AUTHORITY\ANONYMOUS LOGON а не Everyone, как может показаться.
Четвертый шаг
Mонтируем удаленную файловую систему на сервере Solaris.
Для этого выполняем:
bash-3.00# mount win2k3r2:/share /mnt
Проверяем возможность записи и чтения:
bash-3.00# ls -l /mnt
total 0
bash-3.00# touch /mnt/touched
bash-3.00# ls -l /mnt
total 0
-rw-r--r-- 1 nobody nobody 0 Sep 3 18:09 touched
bash-3.00#
Итого
Получили требуемый результат.
У данного решения есть серьезный недостаток – запись и чтение ведется БЕЗ какой-либо аутентификации. Как устранить этот недостаток – расскажу позже.