Главная | Контакты



Главная > Операционные системы > UNIX > BSD > FreeBSD

FreeBSD. Настройка Locale. CP1251, KOI8-R, UTF-8

Поддержка LOCALE

Рассмотрим на примере KOI8-R. При необходимости коррективы вносим нужной нам кодировки (UTF-8, CP1251)

Для поддержки LOCALE следует установить 2 переменные:

1) LANG
2) MM_CHARSET

В файле /etc/login.conf есть специальный класс:
russian login class
russian:Russian Users Accounts:\
        :charset=KOI8-R:\
        :lang=ru_RU.KOI8-R:\
        :tc=default:
С помощью vipw следует каждому пользователю вашей системы изменить 5-е поле файла /etc/passwd
user:password:1111:11::russian:0:0:User Name:/home/user:/bin/csh
если вы не хотите использовать этот метод - можно сделать следущее:

В файле /etc/profile следует написать:

        LANG=ru_RU.KOI8-R; export LANG
        MM_CHARSET=KOI8-R; export MM_CHARSET
а в /etc/csh.login напишем :
        setenv LANG ru_RU.KOI8-R
        setenv MM_CHARSET KOI8-R

Материал взят с сайта: http://www.freebsd.org.ru/how-to/russian/rulocale.html

UTF-8 SSH Free BSD — настройка кодировки и сервера

Потребность создать виртуальный сервер с удаленным доступом может появиться у любого человека. Реализация этой затеи может проходить на всех известных ОС, включая разные версии Windows, Linux, Debian и другие.

Но чаще всего виртуальный сервер создают в ОС FreeBSD, так как это операционная система как раз подходит для этих решений.

Но есть у нее некоторые недостатки, которые лучше решить еще в процессе настройки, а именно нетипичная для других ОС кодировка KOI-8R, а также возможные проблемы с безопасностью и работой веб-интерфейса.

Почему лучше изменить кодировку KOI-8R на UTF 8 во FreeBSD

Настройка иной кодировки — это не просто прихоть от нечего делать, а хорошее решение, ведь многие, кто создает сервер по SSH протоколу работают с UTF-8. Это уже практически мировой стандарт, который нельзя игнорировать. Придет момент, когда ваш SSH сервер станет неактуальным из-за того, что у вас стоит не UTF-8. Кроме того, если вам нужно удаленное управление компьютером для работы с хостом сайта, то KOI-8R может вызвать проблемы и сбои, в которых вы навряд ли сразу же разберетесь. UTF-8 сразу работает бесперебойно и надежно, так что вам придется подредактировать ваш Free BSD «из коробки» и изменить в ОС кодировку.

Midnight Commander кодировка KOI-8R

Как во FreeBSD изменить кодировку на UTF-8

Для начала вам нужно найти файл /etc/login.conf. В нем вы найдете строку russian (её может и не быть), в которой вам необходимо напротив charset и после lang прописать нужную нам кодировку UTF-8.

russian:Russian Users Accounts:\
        :charset=UTF-8:\
        :lang=ru_RU.UTF-8:\
        :tc=default:
После этого еще в консоли нужно обязательно запустить команды:

cap_mkdb /etc/login.conf
pw usermod -n $имя_пользователя -L russian

Указанных действий достаточно, что бы вы могли работать по SSH во FreeBSD с нормальной, человеческой кодировкой UTF-8.

Midnight Commander кодировка UTF-8

Как настроить SSH подключение во Free BSD

Очень важна правильная настройка сервера FreeBSD по SSH протоколу. Если у вас будет стоять стандартная настройка конфигураций, ваш сервер будет не в безопасности. И хоть SSH считается наиболее защищенным протоколом для создания удаленного доступа, в нем есть слабые места, и они находятся в стандартных конфигурациях файла sshd_config.

Именно его вам и нужно будет отредактировать. В данной статье разберем основные опции, которые вам стоит изменить.

Настройка файла sshd_config начинается с запрета входа для root пользователя. Для этого вам нужно изменить опцию PermitRootLogin, которая дословно переводится как «Разрешение для root-пользователя логиниться». Если у вас стоит опция forced-commands-only, without-password или просто написано yes, то это плохой знак — значит root-пользователь может зайти к вам на сервер, зарегистрировавшись по открытому ключу или даже без пароля. Вам же лучше прописать параметр no — тогда root-пользователь никак не сможет попасть на сервер. А если root не зайдет на сервер, то ни один юзер не сможет внести фатальные изменения на компьютер. Так что будьте с root осторожны!

Следующим шагом вам необходимо указать иное значение порта, который прописан в файле конфигураций. Если у вас будет оставаться стандартный Port 22, то хакерам для входа не нужно будет прописывать дополнительно значение порта, а значит они легко смогут подобраться к форме авторизации и попытаются взломать сервер. Если же вы укажите другое значение порта, то им нужно будет указывать -p Port №, чего они не смогут сделать, если не будут знать новый порт. Чтобы изменить порт, достаточно вместо 22 написать другую цифру.

Очень часто в стандартных настройках в качестве способа аутентификации указана парольная авторизация. Это в корне не верный способ аутентификации, ведь пароли могут перехватить, как это делали с предыдущим протоколом Telnet. Потому-то и была выпущена вторая версия протокола SSH, которая поддерживает аутентификацию по публичному ключу. Вам необходимо возле опции PasswordAuthentication прописать no, а там, где PubkeyAuthentication прописать yes. Тогда пользователю нужно будет сгенерировать у себя на устройстве открытый ключ и перенести его к вам на сервер.

Как сделать веб-интерфейс во FreeBSD

Если вы хотите просматривать данные сервера в виде страницы web формата, то вам понадобится, например, Shellinabox. Такое решение вам понадобится, если нет Putty-клиента и вы привыкли к web браузерам. Выглядит Shellinabox, конечно, не так, как стандартный web браузер, поскольку содержимое сервера совсем не похоже на код сайта. Но тем не менее, с Shellinabox удобнее будет работать на хосте.

Иногда во время работы с Shellinabox возникает проблема — интерфейс закрывается и появляется надпись: «Web session closed». И эта надпись может появляться каждый раз после попытки авторизоваться. Что бы web интерфейс Shellinabox заработал, нужно перенастроить файл /etc/hosts. Надпись «Web session closed» пропадет и Shellinabox заработает, когда вы пропишите имя вашего хоста в опциях.

Интерфейс Shellinabox


Материал взят с сайта: http://e-webmaster.ru/ssh/utf-8-ssh-freebsd.html

UTF-8 в консоли и терминале FreeBSD 10.2

До сегодняшнего дня забивал на русификацию консоли UTF-8, во времена старых версий FreeBSD — это было непросто сделать, да и юникод в шелле использовать стал совсем недавно. Но, как оказалось — это совсем несложно, вдобавок решил дополнить заметку локализацией шелла.

Добавляем в файл /boot/loader.conf

kern.vty=vt

Добавляем в файл /etc/rc.conf способ переключения раскладки в консоли клавишами CTRL+SHIFT

keymap="ru.win"

Проверяем тип консоли в файле /etc/ttys, должно быть xterm

ttyv0   "/usr/libexec/getty Pc" xterm on secure

Редактируем класс «russian» в файле /etc/login.conf, должно получиться следующее:

russian|Russian Users Accounts:\
       :charset=UTF-8:\
       :lang=ru_RU.UTF-8:\
       :tc=default:

Обновляем /etc/login.conf.db командой:

cap_mkdb /etc/login.conf

Локализуем shell, я использую tcsh, для него редактируем файл ~/.cshrc, добавив в него две следующие строки:

setenv LANG ru_RU.UTF-8
setenv MM_CHARSET UTF-8

Пользователю необходимо прописать класс russian, командой:

pw user mod user_name -L russian

Где, user_name — имя пользователя.
При создании нового пользователя можно сразу прописать нужный нам класс командой:

pw useradd user_name -L russian

Вот и все, перезайдите в shell, для локализации терминала, консоль русифицируется после повторного входа в систему, либо после перезагрузки системы.

Материал взят с сайта: http://blog.marvins.ru/administrirovanie/utf-8-v-konsoli-i-terminale-freebsd-10-2.html

Настройка локализации Windows кодировки в FreeBSD

Вносим следующие изменения/добавляем в файл /etc/login.conf:

    russian|Russian Users Accounts:\
        :charset=CP1251:\
        :lang=ru_RU.CP1251:\
        :tc=default:

или можно оставить оригинал для KOI-8R поддержки и добавить класс win:

#
# Russian Users Accounts. Setup proper environment variables.
#
russian|Russian Users Accounts:\
        :charset=KOI8-R:\
        :lang=ru_RU.KOI8-R:\
        :tc=default:

win|Russian Windows Users Accounts:\
        :charset=CP1251:\
        :lang=ru_RU.CP1251:\
        :tc=default:

Далее редактируем нужную запись master.passwd командой vipw. Нас интересует пятое поле записи, которое и меняем/вписываем win.
Если мы хотим что бы все default настройки были для CP1251, можем сделать: /etc/profile (Bourne-Shell/Bash):

...
LANG=ru_RU.CP1251; export LANG
LC_ALL=ru_RU.CP1251; export LC_ALL
MM_CHARSET=CP1251; export MM_CHARSET
...
/etc/csh.login (Csh/Tcsh):
...
setenv LANG ru_RU.CP1251
setenv MM_CHARSET CP1251
...
либо у пользователя в $HOME, в .profile/.bash_profile (shell/bash), в .login (csh/tcsh).

Материал взят с сайта: http://unix1.jinr.ru/~lavr/locale-1251.html

Полезаная ссылка: Как изменить кодировку имен файлов

Главная > Операционные системы > UNIX > BSD > FreeBSD