Главная > Операционные системы > 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если вы не хотите использовать этот метод - можно сделать следущее:
В файле 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Материал взят с сайта: UTF-8 SSH Free BSD — настройка кодировки и сервераПотребность создать виртуальный сервер с удаленным доступом может появиться у любого человека. Реализация этой затеи может проходить на всех известных ОС, включая разные версии Windows, Linux, Debian и другие.
Но есть у нее некоторые недостатки, которые лучше решить еще в процессе настройки, а именно нетипичная для других ОС кодировка KOI-8R, а также возможные проблемы с безопасностью и работой веб-интерфейса. Почему лучше изменить кодировку KOI-8R на UTF 8 во FreeBSDНастройка иной кодировки — это не просто прихоть от нечего делать, а хорошее решение, ведь многие, кто создает сервер по SSH протоколу работают с UTF-8. Это уже практически мировой стандарт, который нельзя игнорировать. Придет момент, когда ваш SSH сервер станет неактуальным из-за того, что у вас стоит не UTF-8. Кроме того, если вам нужно удаленное управление компьютером для работы с хостом сайта, то KOI-8R может вызвать проблемы и сбои, в которых вы навряд ли сразу же разберетесь. UTF-8 сразу работает бесперебойно и надежно, так что вам придется подредактировать ваш Free BSD «из коробки» и изменить в ОС кодировку. Как во 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. Как настроить 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 заработает, когда вы пропишите имя вашего хоста в опциях. Материал взят с сайта: 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, для локализации терминала, консоль русифицируется после повторного входа в систему, либо после перезагрузки системы. Материал взят с сайта:Настройка локализации 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. ... 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). Материал взят с сайта: Полезаная ссылка: Как изменить кодировку имен файлов Главная > Операционные системы > UNIX > BSD > FreeBSD |