Настройка и работа в Linux
adb5321d

"Второй способ"


Если у вас используется второй способ - указание полной keymap. В этом случае надо просто найти конкретную keymap и скопировать в наш файл.

Например, у вас в XGF86Config есть только строчка

XkbKeymap "xfree86(ru)"

Она указывает на то, что полное описание лежит в файле {XKBROOT}/keymap/xfree86, в блоке "ru".

Находим этот файл. Находим в нем блок

xkb_keymap "ru" { .... };

И "выкусываем" его оттуда. (Поскольку в нашем файле только один блок, название блока можно убрать).

Больше никаких исправлений не требуется.


Второй способ заключается в том, что вы можете указать одной инструкцией сразу полный набор настроек. Такие наборы называются keymaps и, также как и обычные компоненты конфигурации XKB, располагаются в отдельных файлах (которые, тоже содержат в себе несколько именованных блоков) в директории {XKBROOT}/keymap.

Обычно, каждом блоке keymap просто указывается - из каких файлов XKB должен извлечь соответствующие компоненты (хотя, в принципе, там может быть и полное описание всех компонентов), например

xkb_keymap "ru" { xkb_keycodes { include "xfree86" }; xkb_types { include "default" }; xkb_compatibility { include "default" }; xkb_symbols { include "en_US(pc105)+ru" }; xkb_geometry { include "pc(pc102)" }; };

Обратите внимание, что в одной инструкции include может быть указано несколько файлов (блоков) через знак "+". Понятно, что это означает, что должны быть вставлены последовательно все указанные файлы.

Таким образом, в файле конфигурации X-сервера можно вместо пяти компонентов указать сразу один их готовых наборов - keymap'ов, например

XkbKeymap "xfree86(ru)"

Кроме того, эти два способа можно комбинировать. Например, если вы выбрали одну из подходящих keymap, но вас не устраивает один из компонентов, например geometry, то в файле конфигурации можно указать

XkbKeymap "xfree86(ru)" XkbGeometry "pc(pc104)"

При этом, в соответствии с первой инструкцией, все компоненты будут взяты из keymap "xfree86(ru)", а вторая инструкция "перепишет" geometry, не затрагивая остальные компоненты (хотя я в этом не уверен :)




Другой способ "отсечь" юзера заключается в том, чтобы "испортить" ему пароль. Для этого достаточно добавить к зашифрованному паролю, хранящемуся в учетной карточке, один знак. Обычно, ставят знак "*" в начале пароля, поскольку этот знак не может встретиться в нормальном зашифрованном пароле и, во-первых, пароль в этом случае невозможно подобрать, а во-вторых, такое "искажение" пароля легче потом искать, когда вы будете возвращать юзера обратно. Сделать такую манипуляцию можно программой vipw или chpass.

Этот способ надежно срабатывает во всех случаях, когда юзер пытается получить доступ в систему, независимо от того, через какую программу он это делает (он просто не знает теперь своего пароля).

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

Кроме того, есть случаи, когда этот способ не работает. Дело в том, что RPC-сервисы могут не проверять пароль, если у юзера в домашней директории в соответствующем файле (.rhosts) записаны адреса машин "пользующихся доверием" и он осуществляет доступ именно с этих машин. В этом случае, проверяется только адрес машины (и имя юзера под которым он зарегистрирован там), а пароль не запрашивается, следовательно, описанный метод не сработает. (Кстати, предыдущий метод ("account expiration") в этом случае должен работать.)



Содержание раздела