суббота, 6 апреля 2013 г.

Монтируем ресуры Windows сервера на FreeBSD

Развернув более-менее благополучно Самбу 4 на FreeBSD я решил проверить подключение к расшаренным папкам на Windows сервере.
Команда
# mount -t smbfs -U user //server/share /mnt/win
работала, но запрашивала пароль и имена файлов кириллицей, естественно, не читались. Причем файлы, созданные на самбовской шаре из-под винды выглядели по-одному, файлы на подмонтированной виндовской шаре по-другому, а файлы скопированные с одной на другую шару - по-третьему, причем в винде они уже вообще не отображались. Поэтому я решил привести все в порядок и, почитав пару статей решил эту проблему. Не буду описывать все пробы и ошибки, и сразу приведу получившиеся конфиги. Я воспользовался вторым способом из вышеуказанной статьи (скачал нужные файлы в нужные места - их не было) и добавил/изменил следующие строки в rc.conf:
keymap="ru.cp1251"
scrnmap="win2cpp866" 
font8x16=cp866b-8x16 
font8x14=cp866-8x14 
font8x8=cp866-8x8
в файл /etc/profile:
LANG=ru_RU.CP1251; export LANG
LC_ALL=ru_RU.CP1251; export LC_ALL
MM_CHARSET=CP1251; export MM_CHARSET
в файл /etc/csh.login:
setenv LANG ru_RU.CP1251
setenv MM_CHARSET CP1251
скачал ru.cp1251.kbd в /usr/share/syscons/keymaps
и win2cpp866.scm в /usr/share/syscons/scrnmaps
(ссылки на файлы в статье)
в файле /etc/ttys заменил все cons25 на cons25r

После перезагрузки меню Midnight Commander'а через PuTTY перестало читаться, зато появились подсказки на русском языке. Не беда, подумал я, через правую кнопку на заголовке PuTTY зашёл в "Change Settings..." там на вкладке "Translation" выбрал Win1251(Cyrillic), сохранил настройки сессии и нажал "Apply" - Меню mc стало на русском, но подсказки внизу экрана - на кракозябрах.
"Непорядок" - подумал я, скачал файл /usr/local/share/mc/mc.hint.ru, открыл в Far manager 3.0.3258 редакторе, увидел русские буквы, скопировал всё в буфер, создал в том же радакторе новый файл, в вверху экрана появилось 1251, вставил буфер, сохранил и закачал на старое место. Теперь все по-русски :)

Но цель нашей статьи не только полуночный командир, а все-таки русские буквы в именах файлов.
Итак, чтобы не вводить пароль при подключении правим файл /etc/nsmb.conf (может лежать в другом месте) таким образом:
[default]
workgroup=DOMAIN_NAME

# The 'FSERVER' is an NT server.
[FSERVER]
#charsets=koi-8r:cp866
charsets=cp1251:cp866
addr=fserver.domain_name.local

[FSERVER:USER]
# use persistent password cache for user 'user'
password=$$xxxxxxxxxxxxxxx
предварительно сгенерировав пароль командой
$ smbutil crypt sEcrEt
Имя сервера и пользователя в квадратных скобках не забываем писать БОЛЬШИМИ БУКВАМИ.
После этого шара монтируется командой
$ mount_smbfs -N //user@server/share /mnt/win
также можно добавить строчку в /etc/fstab:
//user@server/share /mnt/win  smbfs rw,-N,noauto 0 0
После всего проделанного кириллица отображается везде и всюду как положено.
P.S. Без noauto не пробовал. Боюсь. В прошлый раз при монтировании нового диска через фстаб высыпали ошибки и фря загрузилась в Single user. Без сети. Учитывая то, что сервер находится в *труднодоступном* месте без монитора и клавиатуры, исправить ситуацию мне стоило немалых усилий, и повторять сей опыт желания нет до сих пор.

Комментариев нет:

Отправить комментарий