Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  mount_nullfs
  badsect
  clri
  bsdlabel
  dump (rdump)
  dumpfs
  ffsinfo
  fsirand
  mount_nfs
  mount_smbfs
  swapon
  tunefs
  umount
  recovery files
  growfs
  Pax
  clonehdd
  Мониторинг RAID
  gstripe
  fusefs-ntfs
  UFS->ZFS
  RAID5
  freebsd lvm
  root ZFS, GPT
  FreeBSD on flash
  Восстановление ZFS
  Лечим FFS
  gmirror
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> Файловая система —> mount_smbfs

mount_smbfs - монтирование форточных шар.

Автор: lissyara.


    Жила себе сетка из виндовых машин - 2 сервака, три десятка узеров. Всё по уму - контроллер домена одна машина (Win2003), сервер БД и документов - другая (Win2000). Доки узеров и отделов на одном сервере, стриммер на другой. По ночам запускалось задание из планировщика, и на стриммер архивировались документы и БД. Через полгода илдиллия закончилась - пользовательские документы распухли до неприличных размеров, и за ночь всё записаться не успевало - в 9 утра народ на работе а залогиниться не может - контроллер домена слишком занят архивацией, чтобы отвлекаться на пользователей :)
   Выбил денег на отдельный сервер - под архивацию. Купили - AMD64 3200+, гектар ОЗУ, 2 винта 40Gb и 300Gb. Ну, разумеется ставим FreeBSD :) Ввиду того, что моей любимой 4.11 в 64-х разрядном исполнении нету, а перекомпилить вообще всё не было желания - решил поставить глюкавенькую FreeBSD6.0 - ибо машина будет внутри локалки, нестрашно.
   Короче. :) Смысл всего - в примонтировании виндового раздела на FreeBSD. Для начала, как обычно, попробовал врезать поддержку SMB в ядро - попытался пересобрать со следующими опциями ядро:
option    NETSMB        # SMB/CIFS requester
option    SMBFS         # SMB/CIFS filesystem

Непрокатило. Сборка вылетала на ошибках. Пришлось загрузить модулем, добавив такую строку в /boot/loader.conf
smbfs_load="YES"

Чтобы не перезагружаться можно подгрузить модуль `руками`:
/usr/home/lissyara/>su
Password:
/usr/home/lissyara/>kldload smbfs
/usr/home/lissyara/>

Всё. Команда mount_smbfs должна работать. Проверяем:
/usr/home/lissyara/>df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad0s1a    496M    122M    334M    27%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/ad0s1d    4.8G     42K    4.5G     0%    /tmp
/dev/ad0s1e     24G    3.4G     19G    15%    /usr
/dev/ad1s1d    271G    185G     64G    74%    /usr/local/backup
/dev/ad0s1f    4.6G    1.1G    3.1G    27%    /var
/usr/home/lissyara/>
/usr/home/lissyara/>mount_smbfs -E koi8-r:cp866 -W name_of_my_domain \
? //liss@server1/out /mnt
Password:
/usr/home/lissyara/>df -h
Filesystem                Size    Used   Avail Capacity  Mounted on
/dev/ad0s1a               496M    122M    334M    27%    /
devfs                     1.0K    1.0K      0B   100%    /dev
/dev/ad0s1d               4.8G     42K    4.5G     0%    /tmp
/dev/ad0s1e                24G    3.4G     19G    15%    /usr
/dev/ad1s1d               271G    185G     64G    74%    /usr/local/backup
/dev/ad0s1f               4.6G    1.1G    3.1G    27%    /var
//LISS@SERVER1/OUT        112G     89G     23G    80%    /mnt
/usr/home/lissyara/>cd /mnt
/mnt/>ls
1C                  сканирование0003.jpg
24-01-2006.zip      тмп
алена1.tif          усилитель
пробный.jpg         фото.ppt
коннект.txt         футбол 16.09.05
/mnt/>

Пароль вводил доменный. Всё подмонтировалось. Параметр -E koi8-r:cp866 означает, что будет использоваться перекодировка, для имён файлов, из cp866 в koi8-r (ведь Вы уже русифицировали консоль, верно? :)). Надо заметить, что удалённая кодировка может быть и cp1251... Пару раз сталкивался - было вперемешку - часть файлов cp1251, а часть cp866 - встревон. Полный список кодировок поддерживаемых вашей машиной можно получить из вывода команды locale:
/usr/home/lissyara/>locale -m
ARMSCII-8
Big5
Big5HKSCS
CP1131
CP1251
CP866
CP949
GB18030
GB2312
GBK
ISCII-DEV
ISO8859-1
ISO8859-13
ISO8859-15
ISO8859-2
ISO8859-4
ISO8859-5
ISO8859-7
ISO8859-9
KOI8-R
KOI8-U
PT154
SJIS
US-ASCII
UTF-8
eucCN
eucJP
eucKR
/usr/home/lissyara/>

Также можно коннектится гостем:
/usr/home/lissyara/>mount_smbfs -E koi8-r:cp866 -W тут_что_угодно \
? //guest@server1/distrib /mnt
Password:
/usr/home/lissyara/>df -h
Filesystem                Size   Used  Avail Capacity  Mounted on
/dev/ad0s1a               126M    44M    72M    38%    /
/dev/ad0s1e               504M   7.4M   456M     2%    /tmp
/dev/ad0s1f                24G    15G   7.4G    66%    /usr
/dev/ad0s1g                12G   1.2G   9.5G    11%    /var
procfs                    4.0K   4.0K     0B   100%    /proc
/dev/ad2s1e               110G    35G    67G    34%    /var/db/mysql
//GUEST@SERVER1/DISTRIB   112G    89G    23G    80%    /mnt
/usr/home/lissyara/>

На запросе пароля я просто нажал "Enter". Кстати, операции эти надо делать от рута - от простого пользователя получите ошибку:
/usr/home/lissyara/>mount_smbfs -E koi8-r:cp866 -W name_of_my_domain \
? //liss@server1/distrib /mnt
Warning: no cfg file(s) found.
mount_smbfs: can not setup kernel iconv table (koi8-r:tolower):
syserr = Operation not permitted
/usr/home/lissyara/>

Всё это конечно хорошо - но монтированием, копированием и архивацией должен был заниматься скрипт. А он пароль ввести не мог :) Надо было чё-то думать. Kурение манов дало ключевое слово - nsmb.conf. Вот тут-то и была главная засада. Я полдня убил на этот файл - не хотел коннектится с его помошью и всё тут. пароль неверный... Сидел смотрел tcpdump`ом - думал может не понимает какой домен... Всё оказалось гораздо проще - я вводил названия серверов, домена, и имя пользователя маленькими буквами... А надо было большими... Итого у меня получилось:
[default]
workgroup=NAME_OF_MY_DOMAIN

[SERVER2]
addr=192.168.20.2

[SERVER2:BACKUP]
# чарсет - но с ним косяки - под фрёй всё пучком, всё видно,
# всё читается, но в архивах, если их открывать из-под форточек,
# русские имена слетают... Как вариант, если надо открывать под
# окошками - поставить cp866:cp1251 (именно так! :))
charsets=koi8-r:cp866
password=password_usera_backup

После чего всё прекрасно монтируется такой командой:
/usr/home/lissyara/>mount_smbfs -N //BACKUP@SERVER2/Bases /mnt
/usr/home/lissyara/>df -h
Filesystem                Size    Used   Avail Capacity  Mounted on
/dev/ad0s1a               496M    122M    334M    27%    /
devfs                     1.0K    1.0K      0B   100%    /dev
/dev/ad0s1d               4.8G     42K    4.5G     0%    /tmp
/dev/ad0s1e                24G    3.4G     19G    15%    /usr
/dev/ad1s1d               271G    210G     39G    84%    /usr/local/backup
/dev/ad0s1f               4.6G    1.1G    3.1G    27%    /var
//BACKUP@SERVER2/BASES     92G     78G     14G    85%    /mnt
/usr/home/lissyara/>

Всё пожалуй. Если кому-то нужны будуть подробности - man :)



размещено: 2006-02-10,
последнее обновление: 2006-02-10,
автор: lissyara

оценить статью:

Oleg, 2006-04-12 в 12:26:57

Позновательно, жалко что это оказался последний сайт и к этому времени я уже настроил вышеописаное  :) Сам промучался с регистрами в ~/.nsmbrc

M@rs, 2006-05-10 в 16:06:38

Большое спасибо автору!Парился долго, пока не набрёл на эту страницу.

Yanis, 2006-06-16 в 12:41:06

1.
Чтобы не писать
mount_smbfs -N //BACKUP@SERVER2/Bases /mnt
, можно добавить в /etc/fstab строку вида
//BACKUP@SERVER2/BASES    /mnt    smbfs    rw,noauto    0    0

2.
Чтобы в ~/.nsmbrc не писать пароль в открытом виде, можно воспользоваться командой
smbutil crypt password_usera_backup
и в ~/.nsmbrc записать полученное значение
password=$$178465324253e0c07dcf8fbd8d2aa8eb18588171717

deux, 2006-08-18 в 17:13:40

Аффтару памятник при жизни надо! пропарился час с проблемой, чтобы не вводить пароль, эта статья выручила!

Blondinka, 2006-10-30 в 12:23:28

Товарищщи! Это поля для ввода комментариев к статье, а не для вопросов. Сюда пишите найденные баги, или какие-то фичи :)
Для вопросов есть форум!

Blondinka, 2006-10-30 в 12:24:07

Ой! Я не хотела, а хотела ответить спасибо автору!

Jaba, 2007-01-14 в 20:53:16

Не забывайте указывать host.  парметр -I  и дальше ай-пи
и -N чтоб пароля не спрашивало
к примеру
mount_smbfs -I 10.16.80.12 -N //guest@jaba/e /mnt

это важно ! иначе будет писать
mount_smbfs: unable to open connection: syserr = Network is unreachable

SniZ, 2007-08-29 в 0:33:49

забыли упомянуть что делать если русская винда которую монтируешь и соответственно русское имя пользователя, долго страдал....

mentat, 2007-09-27 в 12:31:48

найденая бага:
сделал все как написано, подмонтировалась шара, все отлично, но!
на шаре папки названы русскими буквами, например "Отдел логистики" и внутри папки "заказы" например. так вот. если я ломплюсь в эту папку по сети smb://Documents/Отдел логистики... то все работает как надо.

а если же я после монтирования захожу в /mnt/docs , то вижу только папки первого уровня и зайти внутрь не могу - показывает пустоту внутри.

методом тыка выяснилось. что если папки названы латиницей то все работает.

SMF, 2007-12-14 в 7:03:11

Чтобы получилось это:
option    NETSMB        # SMB/CIFS requester
option    SMBFS         # SMB/CIFS filesystem

Нужно ещё вот это:
options LIBMCHAIN
options LIBICONV

И тогда ядро собирается))))

Дмитрий, 2008-04-16 в 7:03:19

Все получилось, только вот скрытые ппаки не показывает!

imicopycat, 2010-01-12 в 12:04:59

Есть фичя на которую нуна обратить внимание в  nsmb.conf:

[SERVER2]
addr=192.168.20.2

[SERVER2:BACKUP]

имена серверов, пользователей, и шар должны быть в верхнем регистре, иначе такие секции игнорируются.

imicopycat, 2010-01-27 в 16:55:43

и ещё один важный момент !

Если будете прописывать автомаунт в fstab не забудте поставить флаг late

igor, 2011-08-22 в 4:37:36

да работает все нормально , кроме если есть в названии каталога или файла есть символ № , тогда отображаются кракозябры . кто это смог победить ?

Zerglyn, 2012-05-25 в 12:17:33

Автору - РЕСПЕКТ и УВАЖУХА))) Ваш сайт спасает не первый (и, боюсь, не последний - я начинающий FreeBSD-ец) раз.

Aleks, 2013-07-21 в 8:36:51

 option    NETSMB        # SMB/CIFS requester
option    SMBFS         # SMB/CIFS filesystem
options LIBMCHAIN
options LIBICONV

mount_smbfs -E koi8-r:cp1251 -I 192.168.0.100 -N //guest@efir/OnAir /efir/efir


класно но папки виндовие абра кадабра

Алекс, 2013-07-21 в 8:59:00

Еще есть параметр -E locale1:locale2
locale1 - локаль во freebsd
locale2 - локаль в windows

mount_smbfs -I 10.0.0.1 //user@server/temp /mnt
10.0.0.1 - адрес сервера
user - от какого пользователя винды подключаемся
server - имя компа (10.0.0.1 - его адрес)
/temp - имя шары
/mnt - куда монтируем во freebsd
Еще оно может спросить пароль от пользователя windows. Если идем из под гостя, вместо user пошем guest. Пароль в таком случае пустой
Еще есть параметр -E locale1:locale2
locale1 - локаль во freebsd
locale2 - локаль в windows
Это если будут во фре русские символы криво отображаться

Алеск, 2013-07-21 в 9:05:49

может иза етого


/efir/>locale
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"

Алекс, 2013-07-21 в 9:20:05

пересобираем ядро:
 options NETSMB          #SMB/CIFS requester
 options NETSMBCRYPTO  #encrypted password support for SMB
 options LIBMCHAIN     #mbuf management library
 options LIBICONV
 options SMBFS
Коннектимся к удаленному SMB серверу:
  smbutil login //jwarner@smbserver1
Монтируем русурс:
  mount_smbfs -N //jwarner@smbserver1/sharename /backup
Отсоединяемся от SMB сервера:
  smbutil logout //jwarner@smbserver1!

Anton, 2013-12-30 в 12:06:20

У кого вылезает ошибка авторизации:
mount_smbfs: unable to open connection: syserr = Authentication error
Попробуйте указать имя домена без точки, т.е. домен firma.local, а например в nsmb.conf, прописываем firma

Arina, 2014-04-16 в 8:40:58

А после такого монтирования шары как добавить ее в веб-интерфейсе freeNAS? ошибка "The path must reside within a volume mount point"

kotte33, 2014-08-07 в 8:45:48

Большое спасибо за информацию, очень сэкономил себе полдня жизни, а может и больше в попытках монтирования самбы с паролем.

Василий Родин, 2016-06-04 в 19:02:47

Ребята! Есть ли жазнь на Марсе? Вопрос такой же вечный, как и обсуждаемая тема!

Прочитал тут, как люди мучались с регистрами названий ресурсов и станций. У самого, кстати, ресурсы и станции отлично монтировались всегда и в нижнем регистре. Но вот где не ожидал засады, так и это в названиях кодировок в аргументе -E команды mount_smbfs.

Испокон веков всё всегда монтировалось нормально в нижем регистре: -E koi8-r:cp866

Но вот наступил 10-й год после написания этой статьи (FreeBSD 10.3-RELEASE) и ресурсы перестали монтироваться. Причём молчком - команда mount_smbfs отрабатывает быстро, но ничего не монтирует.

Каким-то непостижимым образом, перебирая всё немыслимое, написал названия кодировок в верхнем регистре -E KOI8-R:CP866 и, о, чудо!, всё нормально замонтировалось!

Кто бы мог подумать! А печаль была ещё и в том, что нигде (ни в syslog, ни в терминале) отказ от монтирования никаким способом не сообщается...

Ну, думаю, что кому-то поможет мой совет и очередные лет 10 будем монтировать ресурсы опять без проблем. :-)))


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 18 чел.
За последние 30 мин было: 43 человек
За сегодня было
2267 показов,
552 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0444 секунд
Из них PHP: 34%; SQL: 66%; Число SQL-запросов: 77 шт.
Исходный размер: 119102; Сжатая: 23464