Машины lin-test и guest@192.168.0.239 (Ubuntu 10.04 в Vbox) Cifs 4.5.2 Всё делаю по документации(шара). Получаю ошибки при монтировании типа mount error(12): Cannot allocate memory
Проявляется на версиях samba 3.4.7 и 3.4.8. Как в Ubuntu так и в Alt.
Samba сервер на машине lin-test неправильно отвечал на запросы transaction2 (Поле WordCount = 0, а должно быть 10) , поэтому etercifs клиент не распознавал их и вываливался с ошибкой. Попробовал Samba 3.4.7 на Fedora 12 x86_64 и всё хорошо заработало. Попробовал монтировать шару на Ubuntu 10.04 на VirtualBox - и тоже всё хорошо. Переустановил сервер на машине lin-test, и здесь ошибок больше на наблюдается: root@ubuntu10:/home/guest# etermount //lin-test/public ~/test /usr/bin/etermount: строка 67: [: //lin-test/public: ожидается использование бинарного оператора Info: the folder /root/test exists and empty Mouting share //lin-test/public to /root/test with user=guest,pass=,rw,iocharset=utf8,noperm,wine options... Info: mount of share //lin-test/public in mountpoint /root/test has been successfully
Исследовал проблему - ошибка проявляется в связи с правами на путь до шары на сервере. Логи самбы (log level = 10): [2010/07/02 21:13:41, 5] smbd/uid.c:353(change_to_user) change_to_user uid=(0,562) gid=(0,100) [2010/07/02 21:13:41, 4] smbd/vfs.c:753(vfs_ChDir) vfs_ChDir to /var/local/share [2010/07/02 21:13:41, 4] smbd/vfs.c:753(vfs_ChDir) vfs_ChDir to /var/local/share [2010/07/02 21:13:41, 0] smbd/service.c:191(set_current_service) chdir (/var/local/share) failed [2010/07/02 21:13:41, 3] smbd/error.c:60(error_packet_set) error packet at smbd/process.c(1362) cmd=50 (SMBtrans2) NT_STATUS_NETWORK_ACCESS_DENIED И у юзера guest с которым монтирует etermount не хватает прав. Например, если мы сменим директорию, где права есть, всё хорошо и шара монтируется. [2010/07/02 21:23:08, 5] smbd/uid.c:353(change_to_user) change_to_user uid=(0,562) gid=(0,100) [2010/07/02 21:23:08, 4] smbd/vfs.c:753(vfs_ChDir) vfs_ChDir to /usr/local/share [2010/07/02 21:23:08, 3] smbd/trans2.c:2600(call_trans2qfsinfo) call_trans2qfsinfo: level = 260 [2010/07/02 21:23:08, 9] smbd/trans2.c:820(send_trans2_replies) t2_rep: params_sent_thistime = 0, data_sent_thistime = 8, useable_space = 16412 [2010/07/02 21:23:08, 9] smbd/trans2.c:822(send_trans2_replies) t2_rep: params_to_send = 0, data_to_send = 8, paramsize = 0, datasize = 8 [2010/07/02 21:23:08, 5] lib/util.c:632(show_msg) [2010/07/02 21:23:08, 5] lib/util.c:642(show_msg) Действительно, после добавления gпользователя guest в группу wine ( у которой есть права на выполнение директории шары) всё заработало: [2010/07/02 21:29:39, 5] smbd/uid.c:353(change_to_user) change_to_user uid=(0,562) gid=(0,100) [2010/07/02 21:29:39, 4] smbd/vfs.c:753(vfs_ChDir) vfs_ChDir to /usr/local/share [2010/07/02 21:29:39, 3] smbd/trans2.c:2600(call_trans2qfsinfo) call_trans2qfsinfo: level = 260 [2010/07/02 21:29:39, 9] smbd/trans2.c:820(send_trans2_replies) t2_rep: params_sent_thistime = 0, data_sent_thistime = 8, useable_space = 16412 [2010/07/02 21:29:39, 9] smbd/trans2.c:822(send_trans2_replies) t2_rep: params_to_send = 0, data_to_send = 8, paramsize = 0, datasize = 8 [2010/07/02 21:29:39, 5] lib/util.c:632(show_msg) [2010/07/02 21:29:39, 5] lib/util.c:642(show_msg) Вопрос же почему работало на другой Ubuntu 10.04 с самого начала решается просто: пользователь guest на это машине входит в группу wine, а у этой группы есть права на выполнение у директории шары.
Закрываем.