Официальный форум СВД Встраиваемые Системы
28 Март, 2024, 18:18:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1] 2   Вниз
  Печать  
Автор Тема: SAMBA3 для QNX  (Прочитано 11514 раз)
Олег Большаков
Легенда

Сообщений: 3140



« : 03 Март, 2011, 23:05:35 »

SAMBA3 для QNX



Samba -- программа, которая позволяет обращаться к сетевым дискам на различных операционных системах по протоколу SMB/CIFS. Имеет клиентскую и серверную части. Является свободным программным обеспечением и выпущена под лицензией GPL.

Samba работает на большинстве Unix-подобных систем, таких, как Linux, POSIX-совместимых Solaris и Mac OS X Server, на различных вариантах BSD. В QNX4 есть менеджер SMBfsys, который реализует клиентскую часть протокола SMB. В QNX6 для этой же цели служит fs-cifs. В OS/2 портирован Samba-клиент, являющийся плагином к виртуальной файловой системе NetDrive.

Начиная с версии 3.0 Samba сервер получил возможность входить в домен Active Directory, хотя и не в качестве контроллера домена.


Установка Samba 3.5.6 в QNX6 и КПДА.10964-01

Для сборки Samba 3.5.6 под QNX6 понадобится исходный код с сайта http://samba.org и скрипт для сборки. Сборка проводится в инструментальной среде Linux при помощи QNX SDP. Чтобы не утомлять малозначительными подробностями процесса сборки, необходимые команды были собраны в один скрипт. Если собирать Samba из исходных кодов не планируется, то можно скачать и установить уже собранный архив. Все ссылки на скачивание расположены внизу этого сообщения.


1. Сборка

Скачиваем архив с исходным кодом и скрипт сборки в один каталог. При необходимости надо отредактировать скрипт -- можно установить платформу, для которой будет выполняться сборка, и каталог, в который будет выполняться установка Samba. После этого необходимо запустить скрипт:

Код:
./samba-3.5.6-qnx6-build.sh

В результате будет создан архив samba-3.5.6-i486-pc-nto-qnx6.5.0-YYYYMMDD.tar.bz2 с исполняемыми модулями для QNX6.


2. Установка из архива

Необходимо скопировать архив samba-3.5.6-i486-pc-nto-qnx6.5.0-YYYYMMDD.tar.bz2 в корневой каталог QNX6 и выполнить команду:

Код:
# tar -C / -xf /samba-3.5.6-i486-pc-nto-qnx6.5.0-YYYYMMDD.tar.bz2

Если требуется установка в инструментальную машину, то команда может быть следующей:

Код:
# tar -C ${QNX_HOST} -xf /samba-3.5.6-i486-pc-nto-qnx6.5.0-YYYYMMDD.tar.bz2

Все компоненты Samba3 устанавливаются в каталог x86/usr/samba3, если требуется запуск программ из командной строки, то необходимо добавить пути к исполняемым файлам Samba3 в переменную PATH, например, прописав в файле ~/.profile или /etc/profile:

Код:
PATH=$PATH:/usr/samba3/bin:/usr/samba3/sbin

Также потребует прописать путь к разделяемым библиотекам. Для этого в файл /etc/rc.d/rc.local надо добавить следующую строку:

Код:
setconf CS_LIBPATH $(getconf CS_LIBPATH):/usr/samba3/lib

Конфигрурационный файл smb.conf расположен в каталоге /usr/samba3/etc, для удобства работы можно сделать символическую ссылку на этот каталог в /etc/samba. Рекомендуется ознакомиться с документацией на Samba и подготовить файл smb.conf на базе smb.conf.default. Зачастую, внесение изменений в штатный конфигурационный файл не требуется за исключением указания сетевого интерфейса, например:

Код:
interfaces = 192.168.0.11/24

Тут 192.168.0.11 это IP-адрес машины, на которой запускается Samba-сервер, а 24 -- маска подсети.

Необходимо добавить пользователя Samba и установить ему пароль, например:

Код:
# smbpasswd -a root

Внимание! Не рекомендуется устанавливать системный пароль, как пароль Samba. Учтите, что пользователь должен существовать в системе (присутствовать в /etc/passwd). База данных пользоватлей хранится в каталоге /usr/samba3/private.

Для удобства конфигурации Samba можно настроить сервис SWAT. Для этого необходимо прописать в файл /etc/services следующую строку:

Код:
swat            901/tcp

И в файл /etc/inetd.conf:

Код:
swat    stream  tcp     nowait.400  root    /usr/samba3/sbin/swat swat

Требуется перезапустить сервис inetd. После этого управлять сервером Samba можно удалённо из браузера, по адресу http://<hostname>:901, где <hostname> имя или IP-адрес QNX6 системы с запущенным Samba-сервером.

Запуск сервера Samba выполняется следующим образом:

Код:
# nmbd -D
# smbd -D

Если необходимо запускать сервер Samba при каждом запуске QNX6, то эти команды можно прописать в /etc/rc.d/rc.local.


Ссылки

 - Официальный сайт Samba
 - Описание в википедии
 - SAMBA2 для QNX 4.25 и КПДА.00002-01
 - Настройка OpenWatcom для QNX4
 - Утилита wacc


Ссылки для QNX



« Последнее редактирование: 14 Август, 2017, 12:17:51 от Николай Коберда » Записан
LH
Ветеран

Сообщений: 345


« Ответ #1 : 04 Март, 2011, 16:36:20 »

Спасибо!
« Последнее редактирование: 05 Март, 2011, 04:27:53 от LH » Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #2 : 04 Март, 2011, 16:44:01 »

Приношу свои извинения. Roll Eyes Кнопку Спасибо добавил.
Записан
aslav
Пользователь

Сообщений: 39



« Ответ #3 : 06 Февраль, 2012, 09:59:57 »

попробую, спасибо
Записан
Exc
Пользователь

Сообщений: 12


« Ответ #4 : 11 Июль, 2012, 23:26:03 »

Спасибо за статью, попробовал только что. Не все гладко.

В принципе, в самбе не новичок, новичок в QNX. Из архива все установилось, юзер добавился, демоны запускаются.

Увидел свою qnx-машину в рабочей группе с нетбука с кубунтой. Но зайти в нее нельзя - непонятная ошибка без описания.

При попытке монтирования расшаренной директории с FreeBSD-машины - система FreeBSD упала (делал mount из под sudo)! В лог плюнула только одну строчку - "smb_co_lock: recursive lock for object 1" ( версия - samba36-3.6.1). Qnx-машина не пострадала.

Вообще, у меня все компьютеры с разными ОСями с самбой - все друг с другом хорошо работают. Но вот тут... Куда бы можно покопать? Меня, конечно, больше всего жесткий крэш фряхи убил...

Буду очень благодарен за помощь.


Записан
Exc
Пользователь

Сообщений: 12


« Ответ #5 : 12 Июль, 2012, 22:45:45 »

В общем докопался до ошибки почти. Сперва лог самбы буквально пестрел ошибками, пришлось вылизать конфигурацию QNX для своей локальной сети и все ошибки исчезли (они были незначащими), осталась одна - главная. Крэш машины на FreeBSD исключительно вина бсдшного самба-клиента.

При каждой попытке коннекта возникает примерно следующее сообщение в логе:
Failed to set gid privileges to (-1,99) now set to (0,0) uid=(0,0) PANIC: failed to set gid.

На какой файл самба пытается установить gid? Почему не хватает прав? Есть какая-то особенность в нумерации gid в QNX?
Записан
Exc
Пользователь

Сообщений: 12


« Ответ #6 : 16 Июль, 2012, 10:14:41 »

Заработала самба, собранная из "портов" pkgsrc.
Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #7 : 16 Июль, 2012, 21:13:03 »

Exc, собирать из pkgsrc проще. К сожалению, не все архитектуры поддерживаются. На тот момент, когда я собирал Samba 3.5.6 для QNX, в pkgscr была более старая версия. Надо посмотреть, что входит в патч и обновить эту сборку. Сейчас уже есть версия 3.6.6. Приношу извинения за задержку с ответом, меня не было в городе.
Записан
Exc
Пользователь

Сообщений: 12


« Ответ #8 : 16 Июль, 2012, 21:36:25 »

Конечно, проще, там же все зависимости разрулены, как в портах FreeBSD Smiley

Из pkgsrc поставил версию 3.5.6. Там, правда, из мэйкфайла надо убрать указание линковать pthreads, в QNX это не нужно, и в одном файлике закомментировал два вызова sprintf.

А данная сборка, видимо, содержит ошибку. В сообщении "Failed to set gid privileges to (-1,99) now set to (0,0) uid=(0,0) PANIC: failed to set gid. " -1 означает ид юзера-гостя для самбы (по-умолчанию nobody) и ид группы гостя. Но в QNX id юзера nobody равен 99, как и группы.

Откуда берется -1 не понятно. Я заменил для самбы умолчательного юзера на своего, с ид 101 и группой 101, сообщение изменилось соответственно - "Failed to set gid privileges to (-1,101) now set to (0,0) uid=(0,0) PANIC: failed to set gid. " Ид юзера так и осталось -1, что приводит к панике.

Записан
lexandro
Интересующийся

Сообщений: 1


« Ответ #9 : 11 Октябрь, 2012, 15:01:04 »

Спасибо!
Записан
Dmitry_L
Интересующийся

Сообщений: 1


« Ответ #10 : 30 Ноябрь, 2012, 07:36:35 »

Спасибо
Записан
Николай Коберда
Пользователь

Сообщений: 48



WWW
« Ответ #11 : 05 Апрель, 2016, 16:16:32 »

Доступна для скачивания новая сборка Samba 3.6.25. Основные изменения: исправлена ошибка с пользователем-гостем.
Ссылка на скачивание в первом сообщении этой темы.
Записан

tgelev
Интересующийся

Сообщений: 2


« Ответ #12 : 15 Декабрь, 2016, 12:41:09 »

Спасибо
Записан
peter_i
Интересующийся

Сообщений: 1


« Ответ #13 : 03 Май, 2017, 19:58:54 »

Спасибо!
Записан
Николай Коберда
Пользователь

Сообщений: 48



WWW
« Ответ #14 : 14 Август, 2017, 12:18:50 »

Доступна для скачивания корректирующая сборка Samba 3.6.25. Изменения: добавлен модифицированный патч версии 4.x для устранения уязвимости CVE-2017-7494. Другим вариантом исправления данной уязвимости может быть добавление в smb.conf, секция [global] строки:

nt pipe support = no

Ссылка на скачивание в первом сообщении этой темы.
Записан

Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2020 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 02 Март, 2024, 06:34:41