Использование 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) и размещается в журнале. На экран при этом выводится идентификатор скриншота.

1930822322118810530-1203072843_1203088032.png


В журнале могут размещаться не только скриншоты, но и другие изображения, находящиеся в файле на локальной машине (на той машине, где ведётся запись) или доступные с неё с помощью протокола HTTP.

Изображение загружается на сервер и вставляется в журнал с помощью команды l3upload. В качестве аргумента команды указывается имя файла или URL-изображения.

Пример.

Локально сгенерированный PNG-файл размещается в журнале.

1930822322118810530-1203072843_1203088378.png

Файл, доступный через Web (в данном случае, свободное изображение с flickr.com) размещается в журнале:

1930822322118810530-1203072843_1203088884.png

Обратите внимание на то, что даже при использовании изображения из 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

Icon-caution.gif

Команды привязываются к контексту не в момент ввода, а в момент распознавания.

Например, если в момент ввода команд l3-agent не был запущен, и был установлен один контекст, а потом контекст поменяли и запустили l3-agent, все команды, независимо от того, вводились они до смены контекста или после, будут привязаны ко второму контексту (тому, который был установлен на момент запуска l3-agent).

Если же l3-agent работает, то смена контекста действуют сразу же. Он принимает во внимание что контекст изменился, и отправляет распознанные команды уже с учётом этого.

[править] Использование xgu.ru для хранения журналов

Вы можете использовать xgu.ru для хранения журналов. При этом помните следующее:

  1. Ваши записи являются общедоступными. Это значит что то что вы записываете в журнал могут увидеть все на свете.
  2. Никто не несёт ответственности за хранение записей на xgu.ru. Это значит, что записи, которые вы сделали могут пропасть. Их удаление не планируется, но всё-таки если в ваших записях есть что-то что вы хотели бы гарантированно сохранить, лучше их куда-то скопировать.

При использовании xgu.ru придерживайтесь следующих правил:

  1. Выбирайте контекст внутри /users
  2. Другие контексты первого уровня лучше не использовать без предварительной договорённости. Они могут удаляться.
  3. Посмотрите, не занято ли имя, которое вы хотите выбрать. Если оно занято, лучше используйте другое.

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

  • после того как аутентификация пройдена, вы получаете доступ на запись в любую точку определённого контекста и его подконтекстов.
  • у вас, как у владельца контекста, есть возможность ограничивать доступ на чтение и запись данных в этот контекст и любые его подконтексты.

Другими словами, контекст является минимальной неделимой единицей ограничения доступа.


[править] LiLaLo на Xgu.ru