Использование LiLaLo
Материал из Xgu.ru
- Короткий URL: lilalo/usage
< LiLaLo
Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой.
lilalo это не средство аудита или слежки за пользователем. Оно позволяет помочь задокументировать пользователю процесс работы, если только он сам этого хочет. И для того, чтобы у lilalo это получилось, как следует, нужно работать с учётом некоторых правил:
- В журнал автоматически попадают все команды, данные в любом терминале системы.
- Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
- Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found
- Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4
- Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки
- Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ find / -name abc find: /home/devi-orig/.gnome2: Keine Berechtigung find: /home/devi-orig/.gnome2_private: Keine Berechtigung find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung find: /home/devi-orig/.metacity: Keine Berechtigung find: /home/devi-orig/.inkscape: Keine Berechtigung ^C
- Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root)
- Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc 2a3,5 > if [ -f /usr/local/etc/bash_completion ]; then > . /usr/local/etc/bash_completion > fi
- Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и вставить скопированный текст:
$ patch ~/.bashrc
- В данном случае изменения применяются к файлу ~/.bashrc
- Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды. Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
- Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
- Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
- Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
- Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
- Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami user $ #^ Интересно, кто я?
- Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami user $ cat > /dev/null #^ Интересно, кто я? Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.
- Для разделения нескольких абзацев между собой используйте символ "-", один в строке.
- Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо символов #^ или #v нужно использовать символы #=
- Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить символами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
- Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
- Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
1 2 3 4
- Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сеанса, нужно щёлкнуть по этому названию.
Содержание |
[править] Вставка скриншотов и загрузка файлов
Команды:
- l3shot
- l3upload file|url
Не все, что делается с помощью командной строки имеет отражение в консоли. Некоторые действия хочется проиллюстрировать скриншотом.
Например, выполняется настройка выхода в Интернет, и мы хотим символически показать, что Интернет заработал скриншотом браузера; или мы хотим продемонстрировать некий важный момент при использовании системы с графическим интерфейсом пользователя.
Для того чтобы сделать скриншот, который попадёт в журнал, необходимо дать команду l3shot. После этого курсор мыши поменяет форму — им нужно будет указать на окно программы, которое нужно сфотографировать.
$ l3shot Choose window to be shoot ...
После того как вы выбираете окно, которое должно быть снято, его изображение передаётся на сервер (l3-backend) и размещается в журнале. На экран при этом выводится идентификатор скриншота.
В журнале могут размещаться не только скриншоты, но и другие
изображения, находящиеся в файле на локальной машине (на той машине,
где ведётся запись) или доступные с неё с помощью протокола HTTP.
Изображение загружается на сервер и вставляется в журнал с помощью команды l3upload. В качестве аргумента команды указывается имя файла или URL-изображения.
Пример.
Локально сгенерированный PNG-файл размещается в журнале.
Файл, доступный через Web (в данном случае, свободное изображение с flickr.com) размещается в журнале:
Обратите внимание на то, что даже при использовании изображения из Web, оно сначала скачивается на локальный компьютер, а потом загружается на l3-сервер. Передаётся не URL, а само изображение! Это, в частности означает, что:
- Будет сгенерирован соответствующий трафик
- Изображение останется доступным даже, если исчезнет его источник (или он будет недоступен из точки просмотра)
[править] Редактирование журналов
[править] Рекомендации по управлению контекстом lilalo
Команды:
- l3cd context
- l3pwd
Команды, которые агент распознаёт прикрепляются к текущему контексту. Это значит, что они будут видны в каталоге /l3/полный/путь/к/контексту.
Например, если контекст равен
/users/user1/my-first-steps/host1/root
то записанные команды будут доступны по адресу:
http://xgu.ru/l3/users/user1/my-first-steps/host1/root
(при условии, что в качестве backend-сервера используется xgu.ru).
Начальный контекст устанавливается при инсталляции. Он описан в конфигурационном файле ~/.l3rc в параметре l3cd.
Например:
$ cat ~/.l3rc l3cd=/users/igor/home/manas.xt.vpn/igor
Изменить контекст вы можете с помощью команды l3cd, а посмотреть с помощью l3pwd:
%$ l3cd /users/igor/new-context/manas.xt.vpn/igor %$ l3pwd /users/igor/new-context/manas.xt.vpn/igor %$ l3cd /users/igor/home/manas.xt.vpn/igor %$ l3pwd /users/igor/home/manas.xt.vpn/igor
Команды привязываются к контексту не в момент ввода, а в момент распознавания. |
Например, если в момент ввода команд l3-agent не был запущен, и был установлен один контекст, а потом контекст поменяли и запустили l3-agent, все команды, независимо от того, вводились они до смены контекста или после, будут привязаны ко второму контексту (тому, который был установлен на момент запуска l3-agent).
Если же l3-agent работает, то смена контекста действуют сразу же. Он принимает во внимание что контекст изменился, и отправляет распознанные команды уже с учётом этого.
[править] Использование xgu.ru для хранения журналов
Вы можете использовать xgu.ru для хранения журналов. При этом помните следующее:
- Ваши записи являются общедоступными. Это значит что то что вы записываете в журнал могут увидеть все на свете.
- Никто не несёт ответственности за хранение записей на xgu.ru. Это значит, что записи, которые вы сделали могут пропасть. Их удаление не планируется, но всё-таки если в ваших записях есть что-то что вы хотели бы гарантированно сохранить, лучше их куда-то скопировать.
При использовании xgu.ru придерживайтесь следующих правил:
- Выбирайте контекст внутри /users
- Другие контексты первого уровня лучше не использовать без предварительной договорённости. Они могут удаляться.
- Посмотрите, не занято ли имя, которое вы хотите выбрать. Если оно занято, лучше используйте другое.
В настоящий момент нет никакой аутентификации и авторизации при записи журналов в хранилище xgu.ru. Однако, если она появится, скорее всего она будет выглядеть так:
- после того как аутентификация пройдена, вы получаете доступ на запись в любую точку определённого контекста и его подконтекстов.
- у вас, как у владельца контекста, есть возможность ограничивать доступ на чтение и запись данных в этот контекст и любые его подконтексты.
Другими словами, контекст является минимальной неделимой единицей ограничения доступа.
[править] LiLaLo на Xgu.ru
- LiLaLo
- Инсталляция LiLaLo
- Использование LiLaLo
- Устройство LiLaLo
- LiLaLo TODO
- Компоненты: l3-agent | l3-frontend | l3-backend | l3script | l3text