# Samba/Troubleshooting (Русский)

## Решение проблем

### Проблемы подключения к 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, чтобы изменения вступили в силу (или перезагрузите сервис Server: services.msc).

Обратите внимание: Поиск решения в интернете подскажет другое решение, рекомендующее пользователям добавить ключ, изменяющий размер "IRPStackSize". Это неправильное решение для устранения проблемы в Windows 7. Не применяйте его

Ссылка на исходную статью.

### Проблемы получения доступа к ресурсам, защищенным паролем, из 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

### Изменения в Samba 3.4.0

Основные изменения в Samba 3.4.0 включают:

Бэкэнд по умолчанию (passdb) был заменен на 'tdbsam'! В связи с этим предыдущие настройки с использованием бэкэнда 'smbpasswd' не работают без явного объявления!

Чтобы заставить эти настройки работать, попробуйте изменить значение соответствующей опции на 'smbpasswd' в файле `/etc/samba/smb.conf`:

    passdb backend = smbpasswd

или переконвертируйте записи smbpasswd, используя команду:

    sudo pdbedit -i smbpasswd -e tdbsam

### Ошибка: Value too large for defined data type

Некоторые приложения могут выдавать эту ошибку при каждом обращении к файлу, смонтированному в smbfs/cifs:

     Value too large for defined data type

Решением[2] является добавление следующих опций к опциям монтирования smbfs/cifs (например, в файле /etc/fstab):

     ,nounix,noserverino

Это работает для установок Arch Linux с установленными последними обновлениями (на момент написания статьи - 2009-12-02)

### Ошибка: 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'a (файлового менеджера) иконка ресурса исчезла из папки, а в терминале (Konsole) вы видите следующий вывод:

    ‘net usershare’ returned error 255: net usershare: usershares are currently disabled

Сделайте следующее:

Откройте файл `/etc/samba/smb.conf` от имени суперпользователя и отредактируйте секцию `[global]`:

      [global]
      .....
      usershare allow guests = Yes
      usershare max shares = 100
      usershare owner only = False
      .....

Закройте файл, и после этого выполните следующие команды :

    # mkdir /var/lib/samba/usershares
    # chgrp users /var/lib/samba/usershares/
    # chmod 1775 /var/lib/samba/usershares/
    # chmod +t /var/lib/samba/usershares/

Перезапустите демон `samba`

### "Просмотр" сети выдает ошибку "Не удалось получить список ресурсов с сервера" (Failed to retrieve share list from server)

И вы используете firewall (iptables), поскольку не доверяете вашей локальной (школа, университет, отель) сети. Это может происходить по следующей причине: когда smbclient просматривает локальную сеть, он посылает широковещательный запрос на udp-порт 137. Затем серверы сети отвечают вашему клиенту, но, поскольку исходный адрес ответа отличается от адреса назначения, который видел iptables при отправке запроса, iptables не признает ответ как "установленное соединение" или "относящийся к запросу", и, следовательно, пакет отбрасывается. Возможное решение - добавление:

    iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns

в вашу конфигурацию iptables.

Categories:

- Networking (Русский)
- Русский