Samba/Troubleshooting (Русский)
Contents
-
1 Решение проблем
- 1.1 Проблемы подключения к Windows 7 - mount error(12): cannot allocate memory
- 1.2 Проблемы получения доступа к ресурсам, защищенным паролем, из Windows
- 1.3 Диалоговое окно появляется с большой задержкой
- 1.4 Ошибка: Failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
- 1.5 Не удается предоставить общий доступ к папке
- 1.6 "Просмотр" сети выдает ошибку "Не удалось получить список ресурсов с сервера" (Failed to retrieve share list from server)
- 1.7 Вы не являетесь владельцем каталога
- 1.8 protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE
- 1.9 Подключение к серверу завершилось неудачей: (Error NT_STATUS_UNSUCCESSFUL)
Решение проблем
Проблемы подключения к Windows 7 - mount error(12): cannot allocate memory
Известная ошибка Windows 7 "mount error(12): cannot allocate memory" может быть исправлена установкой пары ключей в реестре системы Windows:
-
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache
(установить значение1
) -
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size
(установить значение3
)
В качестве альтернативы можно запустить командную строку от имени Администратора и выполнить следующее:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v "LargeSystemCache" /t REG_DWORD /d 1 /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v "Size" /t REG_DWORD /d 3 /f
Выполните одно из следующих действий, чтобы изменения вступили в силу:
- Перезагрузите Windows
- Перезапустите службу на сервере через services.msc
- Выполните в командной строке
net stop lanmanserver
иnet start lanmanserver
; после остановки служба может перезапуститься автоматически
Проблемы получения доступа к ресурсам, защищенным паролем, из Windows
При проблемах получения доступа к ресурсам, защищенным паролем, из Windows попробуйте добавить следующее в файл /etc/samba/smb.conf
:[1]
Обратите внимание, что это должно быть добавлено в локальный файл smb.conf, а не в файл сервера
[global] # lanman fix client lanman auth = yes client ntlmv2 auth = no
Диалоговое окно появляется с большой задержкой
У меня была проблема, связанная с тем, что диалоговое окно для ввода пароля появлялось с задержкой около 30 секунд, когда я пытался установить соединение из Windows XP/Windows 7. Когда я посмотрел файл error.log на сервере, я увидел:
[2009/11/11 06:20:12, 0] printing/print_cups.c:cups_connect(103) Unable to connect to CUPS server localhost:631 - Interrupted system call
Эта опция предотвращает поиск cups и файла /etc/printcap:
printing = bsd printcap name = /dev/null
Ошибка: Failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
Если вы являетесь домашним пользователем, используете samba исключительно для организации общего доступа к файлам с сервера или NAS и не заинтересованы в организации общего доступа к принтерам, вы можете исправить эту ошибку, добавив следующие строки в файл /etc/samba/smb.conf:
load printers = No printing = bsd printcap name = /dev/null disable spoolss = Yes
Перезапустите samba:
systemctl restart smbd
…проверьте ваши логи:
cat /var/log/samba/smbd.log
и больше ошибка не должна появляться.
Не удается предоставить общий доступ к папке
Проблема проявляется в том, что, когда вы пытаетесь предоставить общий доступ к папке через Dolphin (файловый менеджер), и вначале, вроде бы, все работает нормально, после перезапуска Dolphin иконка ресурса исчезла из папки, а в терминале (Konsole) вы видите следующий вывод:
‘net usershare’ returned error 255: net usershare: usershares are currently disabled
Для решения проблемы включите пользовательские общие ресурсы, как это описано в разделе Samba (Русский)#Создание ресурсов общего доступа от имени обычного пользователя.
И вы используете firewall (iptables), поскольку не доверяете вашей локальной (школа, университет, отель) сети. Это может происходить по следующей причине: когда smbclient просматривает локальную сеть, он посылает широковещательный запрос на udp-порт 137. Затем серверы сети отвечают вашему клиенту, но, поскольку исходный адрес ответа отличается от адреса назначения, который видел iptables при отправке запроса, iptables не признает ответ как "установленное соединение" или "относящийся к запросу", и, следовательно, пакет отбрасывается. Возможное решение - добавление:
iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns
в вашу конфигурацию iptables.
Вы не являетесь владельцем каталога
Попробуйте просто перезагрузить систему.
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE
Вероятно, клиент не имеет доступа к общим ресурсам. Удостоверьтесь, что IP-адрес клиента прописан в строке hosts allow =
файла /etc/samba/smb.conf
.
Подключение к серверу завершилось неудачей: (Error NT_STATUS_UNSUCCESSFUL)
Вероятно, вы указываете smbclient
неправильное имя сервера. Чтобы узнать его, запустите на сервере команду hostnamectl
и найдите строку "Transient hostname".