Установка samba в ubuntu 20.04
Содержание:
- Подключение Windows-клиентов
- File Sharing (Advanced)
- Настройка Samba с интеграцией в AD через sssd
- Настройка двунаправленной репликации sysvol и netlogon с помощью Unison
- System Config Samba
- Утилита net
- Регистрация компьютера в Active Directory домене
- REGISTRY-BASED CONFIGURATION
- Добавление резервного контроллера в домен
- Отключение SMBv1 с помощью групповых политик
- Cетевой обмен по протоколу SMB / SAMBA
- Решение проблем
- Проблемы подключения к Windows 7 — mount error(12): cannot allocate memory
- Проблемы получения доступа к ресурсам, защищенным паролем, из Windows
- Диалоговое окно появляется с большой задержкой
- Ошибка: Failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
- Не удается предоставить общий доступ к папке
- Подключение к серверу завершилось неудачей: (Error NT_STATUS_UNSUCCESSFUL)
Подключение Windows-клиентов
Важно
В ОС семейства Windows активируйте учетную запись Администратора командой:
Подключение клиента с ОС Windows 7
Для подключения клиента с ОС Windows 7 войдите в систему под учётной записью Администратора и с помощью текстового редактора создайте текстовый файл с именем со следующим содержимым:
samba_7_2008_fix.reg
Windows Registry Editor Version 5.00 "DomainCompatibilityMode"=dword:00000001 "DNSNameResolutionRequired"=dword:00000000
Дважды кликните файл, чтобы импортировать его в реестр. После этого перезагрузитесь, чтобы изменения вступили в силу.
Теперь необходимо ввести компьютер в Samba-домен. Для этого перейдите в свойства компьютера, а оттуда в настройку удалённого доступа. Во вкладке «Имя компьютера» нажмите кнопку «Изменить».
Далее укажите, что компьютер является членом домена, и введите его имя:
Введите имя и пароль пользователя, созданного на Samba-сервере и входящего в группу администраторов домена:
После этого компьютер станет членом домена:
Подключение клиента с ОС Windows 10
Для подключения клиента с ОС Windows 10 войдите в систему под учётной записью Администратора и с помощью текстового редактора создайте текстовый файл с именем со следующим содержимым:
samba_7_2008_fix.reg
Windows Registry Editor Version 5.00 "DomainCompatibilityMode"=dword:00000001 "DNSNameResolutionRequired"=dword:00000000
Дважды кликните файл, чтобы импортировать его в реестр. После этого перезагрузитесь, чтобы изменения вступили в силу.
После этого перезапустите сервис samba:
/etc/init.d/samba restart
samba | * samba -> stop: smbd ... samba | * samba -> stop: nmbd ... samba | * samba -> start: smbd ... samba | * samba -> start: nmbd ...
Теперь необходимо ввести компьютер в Samba-домен. Для этого перейдите в свойства компьютера, а оттуда в настройку удалённого доступа. Во вкладке «Имя компьютера» нажмите кнопку «Изменить».
Далее укажите, что компьютер является членом домена, и введите его имя:
Введите имя и пароль пользователя, созданного на Samba-сервере и входящего в группу администраторов домена:
После этого компьютер станет членом домена:
Подключение клиента с ОС Windows Server 2008
Для подключения клиента с ОС Windows 2008 войдите в систему под учётной записью Администратора и с помощью текстового редактора создайте текстовый файл с именем со следующим содержимым:
samba_7_2008_fix.reg
Windows Registry Editor Version 5.00 "DomainCompatibilityMode"=dword:00000001 "DNSNameResolutionRequired"=dword:00000000
Дважды кликните файл, чтобы импортировать его в реестр. После этого перезагрузитесь, чтобы изменения вступили в силу.
Теперь необходимо ввести компьютер в Samba)домен. Для этого перейдите в свойства компьютера, а оттуда в настройку удалённого доступа. Во вкладке «Имя компьютера» нажмите кнопку «Изменить».
Далее укажите, что компьютер является членом домена, и введите его имя:
Введите имя и пароль пользователя, созданного на Samba-сервере и входящего в группу администраторов домена:
После этого компьютер станет членом домена:
File Sharing (Advanced)
We started with the base of Samba file-sharing. The above-mentioned items should be enough to get you started. Next we will add details that you might or might not need.
If you have more than one network card
If you have more than one network card (or interface) then you have to define where you want Samba to run. In smb.conf under the section, add:
interfaces = 127.0.0.1, 192.168.0.31/24 bind interfaces only = yes
The first address (127.0.0.1), is a loopback network connection (it’s your own machine). The second address (192.168.0.31), is the address of the card you want Samba to run on, the second number (24) is the subnet default for a CLASS-C network. It may vary depending on your network.
With «bind interfaces only» you limit which interfaces on a machine will serve SMB requests.
You can limit which IP address can connect to your Samba server adding these lines:
hosts allow = 127.0.0.1, 192.168.0.31, 192.168.0.32 hosts deny = 0.0.0.0/0
The loopback address must be present in the first line. The second line deny access from all IP address not in the first line.
First you’ll want to set this up in the section of your smb.conf
security = user encrypt passwords = true map to guest = bad user guest account = nobody
security = user restricts logins to users on your server. encrypt passwords = true is necessary for most modern versions of Windows to login to your shares. map to guest = bad user will map login attempts with bad user names to the guest account you specify with guest account = nobody. That is, if you attempt to login to the share with a user name not set up with smbpasswd the you will be logged in as the user nobody.
Next the private share
comment = Private Share path = /path/to/share/point browseable = no read only = no
If browseable is set to no the share will not show up on graphical browsers such a «My Network Places» on Windows or Places -> Network on Ubuntu.
path is the path to the directory that you want to share out. browseable = no will have the share not show up when users browse the network. read only = no will let you, as an authenticated user, write to the share.
Finally, the public share
comment = Public Share path = /path/to/share/point read only = no guest only = yes guest ok = yes
Again, path is the path to the directory that you want to share out. read only = no will allow users to write to this share. guest only = yes and guest ok = yes will allow guest logins and also force users to login as guests. The user you specified with guest account in the section must have write permissions on /path/to/share/point in order to write files to the share.
Note: When Windows attempts to access a SMB share it will use the current Windows user name and password. The map to guest = bad user trick above allows access to the public share only if you give Samba an incorrect user name. If you give it a valid user name, but a bad password, the login will fail and Windows will give you a password prompt when you try to access the share. If you have the same user name for your Windows machine and your Ubuntu machine, you could be unwittingly giving the Samba server a valid user name, but invalid password. To resolve this you will either have to change the Windows user name, or to remove that user name from the Samba password file with sudo smbpasswd -x .
Note: The above uses security = user. To access the private shares you will have to make sure the user exists in smbpasswd. These users must also already exist as normal users on your machine. You add users to smbpasswd simply by running sudo smbpasswd -a and giving a password.
Setting permissions
To set permissions of newly created documents / files edit /etc/samba/smb.conf and in the section add :
create mask = 0644 directory mask = 0755
Настройка Samba с интеграцией в AD через sssd
Устанавливаем сам файловый сервер самба.
# yum install samba
Рисуем ему примерно такой конфиг.
# cat /etc/samba/smb.conf
workgroup = XS server string = Samba Server Version %v log file = /var/log/samba/log.%m log level =3 max log size = 500 security = ads encrypt passwords = yes passdb backend = tdbsam realm = XS.LOCAL load printers = no cups options = raw printcap name = /dev/null comment = My shared folder path = /mnt/shara public = no writable = yes guest ok = no valid users = @"gr_it@xs.local"
Запускаем службу smb.service и добавляем в автозагрузку.
# systemctl start smb.service # systemctl enable smb.service
Теперь идем проверять подключение к сетевому диску с какой-нибудь виндовой машины. Здесь меня ждало полное разочарование. Ничего не работало. Я бился над решение проблемы примерно 2 дня, но не смог победить. Перелопатил весь гугл по запросу «sssd samba», но не смог заставить работать эту связку.
Через поиск нашел как людей, которые бились над решением проблемы с теми же ошибками, что и у меня, так и тех у кого все работало нормально. Я проверил все гайды и конфиги, где люди говорили, что такая связка работает, но у меня она все равно не работала. Видел сообщения людей, которые так же как я, не смогли победить ошибки. Думаю, проблема кроется в различных версиях софта.
Мне стало жаль тратить время на поиски готового решения с sssd, хотя мне очень хотелось получить рабочий вариант, так как с winbind достаточно часто возникают проблемы. Я надеялся от них избавиться переходом на sssd, но не получилось. Статью не стал переделывать, сохранив то, что уже настроил. Может быть у вас заработает.
Попутно узнал, что sssd не поддерживает NTLM авторизацию, только kerberos. Я не знаю, по какой причине, но у меня самба, судя по логам, упорно пыталась авторизовать пользователя по ntlm. В итоге, я прекратил попытки и вернулся к старому проверенному варианту с winbind. Далее расскажу, как настроить файловый сервер samba для работы в домене windows с помощью winbind.
Настройка двунаправленной репликации sysvol и netlogon с помощью Unison
Папка SYSVOL содержит групповые политики и скрипты. Отсутствие репликации приведет к неправильной работе групповых политик и сценариев входа. Есть два варианта: однонаправленная синхронизации и двунаправленная. В первом случае, реплика снимается с основного контроллера и распространяется на все резервные.
Во втором работает в обе стороны. Используем для этого Rsync и Unison (программа двунаправленной синхронизации файлов).
Установка:
eсли вы используете РЕД ОС версии 7.1 или 7.2, выполните команду:
# yum install rsync unison
eсли вы используете РЕД ОС версии 7.3 и старше, выполните команду:
# dnf install rsync unison
Создание для ssh rsa ключей и копирование публичного ключ на DC2:
# ssh-keygen -t rsa # ssh-copy-id -i ~/.ssh/id_rsa.pub root@DC2.skynet.murom
Теперь без ввода пароля можно попасть по ssh с DC1 на DC2 выполнив команду:
ssh dc2.skynet.murom
При низких скоростях в сети, unison может некорректно работать, поэтому при повторной его работе будет использоваться ранее созданное подключение по ssh, для этого:
mkdir ~/.ssh/ctl cat << EOF > ~/.ssh/ctl/config Host * ControlMaster auto ControlPath ~/.ssh/ctl/%h_%p_%r ControlPersist 1 EOF
Лог файл репликации (следим за размером лога!)
# touch /var/log/sysvol-sync.log # chmod 640 /var/log/sysvol-sync.log
Создайте файла конфигурации unison, для этого создадим каталог .unison:
# mkdir /root/.unison
а теперь создадим в нем файл конфигурации:
# nano /root/.unison/default.prf
с содержимым:
root = /var/lib/samba # Note that 2 x / behind DC2, it is required root = ssh://root@DC2.skynet.murom//var/lib/samba # Путь синхронизации path = sysvol #ignore = Path stats ## ignores /var/www/stats auto=true batch=true perms=0 rsync=true maxthreads=1 retry=3 confirmbigdeletes=false servercmd=/usr/bin/unison copythreshold=0 copyprog = /usr/bin/rsync -XAavz --rsh='ssh -p 22' --inplace --compress copyprogrest = /usr/bin/rsync -XAavz --rsh='ssh -p 22' --partial --inplace --compress copyquoterem = true copymax = 1 logfile = /var/log/sysvol-sync.log
Установка rsync и unison на DC2:
для РЕД ОС версии 7.1 или 7.2:
# yum install rsync unison
для РЕД ОС версии 7.3 и старше:
# dnf install rsync unison
Сделайте backup sysvol, потом запустите команду синхронизации:
/usr/bin/rsync -XAavz --log-file /var/log/sysvol-sync.log --delete-after -f"+ */" -f"- *" /var/lib/samba/sysvol root@dc2.skynet.murom:/var/lib/samba && /usr/bin/unison &> /dev/null
в этой строке программа rsync создает структуры каталогов с расширенными атрибутами, а затем программа Unison копирует только эти расширенные атрибуты файлов.
Межсайтовая синхронизации настраивается через оснастку(mmc) «Active Directory Sites and Services» в Windows. Оснастка входит в пакет RSAT.
System Config Samba
Графический интерфейс (GUI) способен во многом облегчить процесс настройки Samba в Ubuntu. Как минимум, пользователю, который только перешел на Linux, этот способ покажется более понятным.
Шаг 1: Установка
Изначально нужно установить специальную программу в систему, которая обладает интерфейсом и которая необходима для осуществления настройки. Сделать это можно с помощью «Терминала», выполнив команду:
Если до этого вы не устанавливали все компоненты Samba себе на компьютер, вам нужно будет вместе с ней загрузить и установить еще некоторые пакеты:
После того как все необходимое было установлено, можно переходить непосредственно к настройке.
Шаг 2: Запуск
Запустить System Config Samba можно двумя способами: с помощью «Терминала» и через меню Bash.
Способ 1: Терминал
Если вы решили использовать «Терминал», то вам необходимо сделать следующее:
- Нажмите сочетание клавиш Ctrl+Alt+T.
-
Введите следующую команду:
- Нажмите Enter.
Далее вам потребуется ввести системный пароль, после чего откроется окно программы.
Способ 2: Меню Bash
Второй способ многим покажется проще, так как все операции выполняются в графическом интерфейсе.
- Нажмите на кнопку меню Bash, которая находится в верхнем левом углу рабочего стола.
Введите в открывшемся окне поисковой запрос «Samba».
Нажмите по одноименной программе в разделе «Приложения».
После этого система запросит у вас пароль пользователя. Введите его и программа откроется.
Шаг 3: Добавление пользователей
Перед тем как приступать непосредственно к настройке папок Samba нужно добавить пользователей. Делается это через меню настроек программы.
- Нажмите по пункту «Настройка» на верхней панели.
В меню выберите пункт «Пользователи Samba».
В появившемся окне нажмите «Добавить пользователя».
В выпадающем списке «Имя пользователя Unix» выберите пользователя, которому будет разрешено входить в папку.
Вручную введите имя пользователя Windows.
Введите пароль, а затем повторите его ввод в соответствующем поле.
Нажмите кнопку «ОК».
Таким образом вы можете добавить одного или нескольких пользователей Samba, а в будущем определить их права.
Шаг 4: Настройка сервера
Теперь нужно приступить к настройке сервера Samba. Это действие выполняется на порядок проще в графическом интерфейсе. Вот что нужно сделать:
- В главном окне программы нажмите по пункту «Настройка» на верхней панели.
Из списка выберите строку «Параметры сервера».
В появившемся окне, во вкладке «Основной», введите в строке «Рабочая группа» название группы, все компьютеры которой смогут подключаться к серверу Samba.
Введите описание группы. При желании можете оставить значение по умолчанию, этот параметр ни на что не влияет.
Перейдите на вкладку «Безопасность».
Определите режим аутентификации как «Пользователь».
Выберите из выпадающего списка «Шифровать пароли» интересующий вас вариант.
Выберите гостевую учетную запись.
Нажмите «ОК».
После этого настройка сервера будет окончена, можно переходить непосредственно к созданию папок Samba.
Шаг 5: Создание папок
Если ранее вы не создавали общедоступные папки, то окно программы будет пустым. Для создания новой папки, вам нужно выполнить следующее:
- Кликните по кнопке с изображением знака плюс.
В открывшемся окне, во вкладке «Основной», нажмите «Обзор».
В файловом менеджере укажите нужную папку для ее расшаривания.
В зависимости от предпочтений, поставьте галочки рядом с «Запись разрешена» (пользователю будет позволено редактировать файлы в общедоступной папке) и «Виден» (на другом ПК добавляемая папка будет видна).
Перейдите во вкладку «Доступ».
На ней есть возможность определить пользователей, которым будет разрешено открывать расшаренную папку. Для этого поставьте отметку рядом с «Предоставить доступ только определенным пользователям». После этого нужно выбрать их из списка.
Если вы собираетесь сделать общедоступную папку, то поставьте переключатель в положение «Предоставить доступ всем».
Нажмите кнопку «ОК».
После этого в главном окне программы будет отображаться только что созданная папка.
При желании вы можете создать еще несколько папок, используя вышеприведенную инструкцию, или же изменить уже созданные, нажав по кнопке «Изменить свойства выбранного каталога».
Как только вы создадите все нужные папки, можете закрывать программу. На этом инструкция по настройке Samba в Ubuntu с помощью программы System Config Samba окончена.
Утилита net
Утилита net призвана заменить smbpasswd и обеспечивает гораздо большие возможности по получению информации о сети и управлению сетью. Формат команд утилиты очень похож на формат одноименной команды Windows NT/2000.
Основные применения команды net:
- создание и удаление пользователей: net user;
- включение машины в домен: net ads join — Active Directory; net rpc join — NT Domain;
- получение информации о домене, машине, открытых файлах, сессиях: net info, net ads status, net rpc status;
- создание и удаление разделяемых ресурсов на удаленных машинах: net share;
- синхронизация времени с windows-сервером: net time.
Регистрация компьютера в Active Directory домене
Убедитесь что Samba не запущена. Если запущена, ее нужно остановить:
service smb stop; service winbind stop
Чтобы включить компьютер в домен, выполните команду:
net ads join -U administrator
где administrator — имя пользователя домена, имеющего право создавать новые учетные записи.
Если не было выдано сообщение об ошибке, то машина успешно зарегистрирована в домене — иначе проверьте правильность задания параметров в /etc/samba/smb.conf и /etc/krb5.conf. Убедитесь, что пользователь, указанный после -U в net ads join, имеет необходимые права на создание новых учетных записей.
Теперь можно запустить необходимые службы:
# service smb start; service winbind start
REGISTRY-BASED CONFIGURATION
Starting with Samba version 3.2.0, the capability to
store Samba configuration in the registry is available.
The configuration is stored in the registry key
.
There are two levels of registry configuration:
-
Share definitions stored in registry are used.
This is triggered by setting the global
parameter
to “yes” in smb.conf.The registry shares are loaded not at startup but
on demand at runtime by smbd.
Shares defined in smb.conf take
priority over shares of the same name defined in
registry. -
Global smb.conf
options stored in registry are used. This can be activated
in two different ways:Firstly, a registry only configuration is triggered
by settingin the section of smb.conf.
This resets everything that has been read from config files
to this point and reads the content of the global configuration
section from the registry.
This is the recommended method of using registry based
configuration.Secondly, a mixed configuration can be activated
by a special new meaning of the parameterin the section of smb.conf.
This reads the global options from registry with the same
priorities as for an include of a text file.
This may be especially useful in cases where an initial
configuration is needed to access the registry.Activation of global registry options automatically
activates registry shares. So in the registry only case,
shares are loaded on demand only.
Note: To make registry-based configurations foolproof
at least to a certain extent, the use
of and
inside the registry configuration has been disabled:
Especially by changing the
inside the registry
configuration, one would create a broken setup where the daemons
do not see the configuration they loaded once it is active.
Добавление резервного контроллера в домен
Скопируйте конфигурации самбы c основного контроллера /etc/samba/smb.conf и /etc/krb5.conf
Поменяйте в /etc/samba/smb.conf
netbios name=DC2
Получите билет:
# kinit Administrator
и проверьте вывод:
# klist
Добавьте winbind в файл /etc/nsswitch.conf
Winbind будет использоваться как прокси между AD и связкой PAM и NSS. Для аутентификации AD winbind использует kerberos, а LDAP используется для получения информации.
DC2# nano /etc/nsswitch.conf passwd: winbind sss files systemd group: winbind sss files systemd shadow: winbind files sss hosts: files dns wins
Выполните команду присоединения к домену в роли «backend»:
samba-tool domain join skynet.murom DC -U Administrator --dns-backend=SAMBA_INTERNAL --realm=skynet.murom
Введите пароль от доменного Администратора контроллера домена.
При этом в прямой зоне DNS должна появиться соответствующая A запись.
Добавьте сервис samba в автозагрузку и запустите его:
systemctl enable samba.service systemctl start samba.service
В dns добавляем Ptr запись нашего второго сервера в обратную зону.
Проверка репликации:
# samba-tool drs showrepl
В конце может быть «Warning: No NC replicated for Connection!», но как на писано на samba.com это не критично.
Команда запуска принудительной репликации:
samba-tool drs replicate dc2.skymet.murom dc1.skynet.murom dc=skynet,dc=murom
Первым указывается приемник, а следующим идет источник.
По умолчанию автоматическая репликация внутрисайтовая в Windows AD занимает 5 сек, межсайтовая репликация 15 мин.(значения эти не регулируются). Без успешной двунаправленной репликации в течение 14 дней DC исключается из Active Directory.
Отключение SMBv1 с помощью групповых политик
В доменной среде Active Directory вы можете отключить протокол SMBv1 на всех серверах и компьютеров с помощью групповой политики. Т.к. в стандартных политиках Windows нет политики настройки компонентов SMB, придется отключать его через политику реестра.
- Откройте консоль управления Group Policy Management (gpmc.msc), создайте новый объект GPO (disableSMBv1) и назначьте его на OU с компьютерами, на которых нужно отключить SMB1;
- Перейдите в режим редактирования политики. Выберите Computer Configuration -> Preferences -> Windows Settings -> Registry;
- Создайте новый параметр реестра (Registry Item) со следующими настройками: Action: Update Hive: HKEY_LOCAL_MACHINE Key Path: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters Value name: SMB1 Value type: REG_DWORD Value data: 0
Данная политика отключит через реестр поддержку компонента сервер SMBv1 на всех компьютерах. Если в вашем домене остались компьютеры с Windows XP/Server 2003, можно использовать отдельный WMI фильтр политики, чтобы исключить эти версии Windows из-под действия политики.
Если вы хотите через GPO отключить на компьютерах SMB клиент, создайте дополнительно два параметра реестра:
- Параметр Start (типа REG_DWORD) со значением 4 в ветке реестра HKLM\SYSTEM\CurrentControlSet\services\mrxsmb10;
- Параметр DependOnService (типа REG_MULTI_SZ) со значением Bowser, MRxSmb20, NSI (каждое значение с новой строки) в ветке реестра HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation.
Осталось обновить настройки групповых политик на клиентах и после перезагрузки проверить, что компоненты SMBv1 полностью отключены.
В групповых политиках Security Baseline из Microsoft Security Compliance Toolkit есть отдельный административный шаблон (файлы SecGuide.adml и SecGuide.ADMX), в которых есть отдельные параметры для отключения сервера и клиента SMB:
- Configure SMB v1 server;
- Configure SMB v1 client driver.
Cетевой обмен по протоколу SMB / SAMBA
Одним из способов доступа с STB к файлам, расположенным на сетевых компьютерах, является протокол общего доступа SMB, который является стандартным протоколом Microsoft Windows и обеспечивает функции «Сети Microsoft Windows» и «Совместного использования файлов и принтеров» . Samba – свободная реализация протокола SMB для UNIX-подобных и других операционных систем.
Применение протоколов SMB / Samba позволяет осуществлять доступ с STB (работает под управлением ОС Linux) к папкам и файлам, расположенным на сетевых компьютерах (работающих под управлением ОС Linux, Windows и др.). Таким образом, пользователи STB получают возможность проигрывать на STB медиа-файлы (видео, аудио, изображения), которые расположены на сетевых компьютерах, работающих под управлением одного из типов ОС, поддерживающей протокол SMB.
Протокол SMB / Samba является прикладным протоколом (в терминах сетевой модели OSI). Для обмена данными используется транспортный протокол TCP/IP. Протокол SMB / Samba использует архитектуру клиент – сервер: в качестве сервера выступает ПК, на котором размещаются определенные сетевые ресурсы (папки) с медиа-файлами, в качестве клиента – STB, с которого медиа-файлы проигрываются.
Сетевые ресурсы (в виде ярлыков) отображаются в STB, в меню Home media, в соответствии со стандартной сетевой LAN-архитектурой ОС Windows: Сеть / Рабочая группа / Компьютер / Папка.
По умолчанию, доступ к ресурсам компьютера закрыт настройками на стороне компьютера. При необходимости получить доступ к определенной сетевой папке, пользователь компьютера открывает доступ к этой папке. Для управления доступом к папкам используется процедура ОС Windows «Общий доступ к файлам».
Предусмотрены два типа сетевого доступа к папкам (тип доступа определяется на стороне сервера):
- по паролю – для доступа к сетевой папке со стороны STB используется процедура Авторизации (необходимо ввести имя (login) определенного пользователя компьютера и его пароль (password);
- без пароля – доступ к сетевой папке открыт для всех пользователей, без необходимости вводить пароль.
Обнаружение общих сетевых ресурсов на стороне STB происходит автоматически (если это не запрещено на стороне компьютера или кроме случаев, связанных с некорректной работой сети). Соединение с сетевой папкой устанавливается, когда пользователь STB открывает сетевую папку. Если используется доступ к папке по паролю, пользователю выдается запрос указать login и password.
Также предусмотрена возможность ручного подключения сетевых папок (если они не были обнаружены автоматически). Настройка и доступ к ресурсам сети по протоколу SMB Samba на STB проводится в меню Home media.
Ниже рассмотрен пример, как подключить сетевую папку ПК с ОС Windows 10 для воспроизведения медиа-файлов с STB.
Решение проблем
Проблемы подключения к Windows 7 — mount error(12): cannot allocate memory
Известная ошибка Windows 7 «mount error(12): cannot allocate memory» может быть исправлена установкой пары ключей в реестре системы Windows:
- (установить значение )
- (установить значение )
В качестве альтернативы можно запустить командную строку от имени Администратора и выполнить следующее:
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
- Выполните в командной строке и ; после остановки служба может перезапуститься автоматически
Примечание: Поиск решения в интернете подскажет другое решение, рекомендующее пользователям добавить ключ, изменяющий размер «IRPStackSize». Это неправильное решение для устранения проблемы в Windows 7. Не применяйте его
Проблемы получения доступа к ресурсам, защищенным паролем, из Windows
Обратите внимание, что это должно быть добавлено в локальный файл smb.conf, а не в файл сервера
# 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
Для решения проблемы включите пользовательские общие ресурсы, как это описано в разделе .
И вы используете firewall (iptables), поскольку не доверяете вашей локальной (школа, университет, отель) сети. Это может происходить по следующей причине: когда smbclient просматривает локальную сеть, он посылает широковещательный запрос на udp-порт 137. Затем серверы сети отвечают вашему клиенту, но, поскольку исходный адрес ответа отличается от адреса назначения, который видел iptables при отправке запроса, iptables не признает ответ как «установленное соединение» или «относящийся к запросу», и, следовательно, пакет отбрасывается. Возможное решение — добавление:
iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns
в вашу конфигурацию iptables.
Подключение к серверу завершилось неудачей: (Error NT_STATUS_UNSUCCESSFUL)
Вероятно, вы указываете неправильное имя сервера. Чтобы узнать его, запустите на сервере команду и найдите строку «Transient hostname».