Журнал лабораторных работ

Содержание

Журнал

Среда (11/04/20)

/dev/pts/2
12:23:38
$ls -l
итого 36
-rw-r--r-- 1 user user    70 Ноя  4 13:05 date.txt
-rw-r-xr-x 1 user user 31136 Ноя  4 13:21 whoami
12:23:43
$ls -l
итого 36
-rw-r--r-- 1 user user    70 Ноя  4 13:05 date.txt
-rw-r-xr-x 1 user user 31136 Ноя  4 13:21 whoami
12:24:12
$./whoami
l3script: ./whoami: Отказано в доступе
12:24:23
$chmod u+x whoami

12:24:38
$./whoami
user
12:24:40
$echo "echo privet" > test.sh

12:24:56
$cat test.sh
echo privet
12:25:03
$cat test.sh
date.txt  test.sh   whoami
12:25:03
$ls -l
итого 40
-rw-r--r-- 1 user user    70 Ноя  4 13:05 date.txt
-rw-r--r-- 1 user user    12 Ноя  4 13:24 test.sh
-rwxr-xr-x 1 user user 31136 Ноя  4 13:21 whoami
12:25:25
$cd /opt/public/

12:35:17
$ls
R1
12:35:18
$cat R1
Срд Ноя  4 13:35:05 EET 2020
12:35:27
$rm R1
rm: удалить защищенный от записи обычный файл «R1»? y
rm: невозможно удалить «R1»: Операция не позволяется
12:35:40
$rm -rf R1
rm: невозможно удалить «R1»: Операция не позволяется
12:35:46
$cat R1 ls -l `which passwd`
cat: неверный ключ -- l
Попробуйте «cat --help» для получения более подробного описания.
12:40:07
$ls -l `which passwd`
-rwsr-xr-x 1 root root 51096 Май 26  2012 /usr/bin/passwd
12:40:14
$find / -perm -4000 2> /dev/null
/usr/lib/openssh/ssh-keysign
/usr/lib/pt_chown
/usr/lib/eject/dmcrypt-get-device
/usr/bin/passwd
/usr/bin/chfn
/usr/bin/gpasswd
/usr/bin/chsh
/usr/bin/newgrp
/usr/sbin/exim4
/bin/mount
/bin/su
/bin/ping6
/bin/umount
/bin/ping
12:42:53
$tty
/dev/pts/2
прошло 44 минуты
13:27:22
$w
 14:27:51 up 5 days,  2:02,  3 users,  load average: 0,00, 0,03, 0,05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.15.11    Втр09   31.00s  0.28s  0.18s script -f -c l3
ivan     pts/4    192.168.15.11    11:48   39.00s  0.08s  0.08s -bash
user     pts/2    192.168.15.11    Втр15    7.00s  2.43s  2.06s script -f -c l3
13:27:51
$write root
test!
13:28:12
$ls -lL `which write`
-rwxr-sr-x 1 root tty 14624 Июн 11  2012 /usr/bin/write
13:28:39
$write root
exit
13:32:31
$write root

/dev/pts/2
13:36:29
$id
uid=1000(user) gid=1000(user) группы=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev)
/dev/pts/2
13:39:06
$id
uid=1000(user) gid=1000(user) группы=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),1003(developers)
13:39:09
$cd /opt/project/

13:39:36
$ls -l
итого 0
13:39:42
$ls -ld
drwxrwx--- 2 root developers 4096 Ноя  4 14:34 .
13:39:46
$date > project1

13:39:59
$ls -l
итого 4
-rw-r--r-- 1 user user 35 Ноя  4 14:39 project1
13:40:01
$date > project2

13:42:19
$ls -l
итого 8
-rw-r--r-- 1 user user       35 Ноя  4 14:39 project1
-rw-r--r-- 1 user developers 35 Ноя  4 14:42 project2
13:42:22
$mdkdir setgidbit
l3script: mdkdir: команда не найдена
13:44:16
$mkdir setgidbit

13:44:21
$ls-l
l3script: ls-l: команда не найдена
13:44:24
$ls -l
итого 12
-rw-r--r-- 1 user user         35 Ноя  4 14:39 project1
-rw-r--r-- 1 user developers   35 Ноя  4 14:42 project2
drwxr-sr-x 2 user developers 4096 Ноя  4 14:44 setgidbit
13:44:26
$umask
0022
13:45:19
$umask 0027

13:46:18
$date > project3

13:46:25
$ls -l
итого 16
-rw-r--r-- 1 user user         35 Ноя  4 14:39 project1
-rw-r--r-- 1 user developers   35 Ноя  4 14:42 project2
-rw-r----- 1 user developers   35 Ноя  4 14:46 project3
drwxr-sr-x 2 user developers 4096 Ноя  4 14:44 setgidbit
13:46:29
$echo =========================
=========================
прошло 24 минуты
/dev/pts/2
14:11:20
$echo "test empty nologin file"
test empty nologin file
/dev/pts/2
14:15:39
$logname
logname: регистрационное имя отсутствует
14:15:48
$id
uid=1000(user) gid=1000(user) группы=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),1003(developers)
14:15:54
$whoami
user
14:15:57
$logonname
l3script: logonname: команда не найдена
14:16:12
$clear

14:16:15
$su -
Пароль:
l3-agent is already running: pid=3438; pidfile=/root/.lilalo/l3-agent.pid
root@debian1:~# logname
logname: регистрационное имя отсутствует
root@debian1:~# whoami
root
root@debian1:~# cat /etc/shadow
root:$6$ppY7xZxX$CnutMU4XxetHko6DW5K/ckfiA6CFeC0cbV/d6rrWE6F5iszqxAaQTwekH3.vBTQPNCakvqusvPcBecndLcbX8.:16248:0:99999:7:::
daemon:*:16248:0:99999:7:::
bin:*:16248:0:99999:7:::
...
root@debian1:~# passwd
Введите новый пароль UNIX:
Повторите ввод нового пароля UNIX:
passwd: пароль успешно обновлён
root@debian1:~# passwd user
Введите новый пароль UNIX:
Повторите ввод нового пароля UNIX:
passwd: пароль успешно обновлён
root@debian1:~# exit
logout

Файлы

  • R1
  • test.sh
  • R1
    >
    Срд Ноя  4 13:35:05 EET 2020
    
    test.sh
    >
    date.txt  test.sh   whoami
    

    Статистика

    Время первой команды журнала12:23:38 2020-11- 4
    Время последней команды журнала14:16:15 2020-11- 4
    Количество командных строк в журнале48
    Процент команд с ненулевым кодом завершения, %12.50
    Процент синтаксически неверно набранных команд, % 6.25
    Суммарное время работы с терминалом *, час 1.14
    Количество командных строк в единицу времени, команда/мин 0.70
    Частота использования команд
    ls12|======================| 22.64%
    cat4|=======| 7.55%
    write3|=====| 5.66%
    whoami3|=====| 5.66%
    echo3|=====| 5.66%
    id3|=====| 5.66%
    date3|=====| 5.66%
    umask2|===| 3.77%
    rm2|===| 3.77%
    cd2|===| 3.77%
    test.sh1|=| 1.89%
    mkdir1|=| 1.89%
    project11|=| 1.89%
    logname1|=| 1.89%
    project21|=| 1.89%
    null1|=| 1.89%
    ls-l1|=| 1.89%
    chmod1|=| 1.89%
    project31|=| 1.89%
    mdkdir1|=| 1.89%
    logonname1|=| 1.89%
    tty1|=| 1.89%
    find1|=| 1.89%
    clear1|=| 1.89%
    su1|=| 1.89%
    w1|=| 1.89%
    ____
    *) Интервалы неактивности длительностью 30 минут и более не учитываются

    Справка

    Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
    1. В журнал автоматически попадают все команды, данные в любом терминале системы.

    2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

    3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
      $ l s-l
      bash: l: command not found
      

    4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
      $ test 5 -lt 4
      Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

    5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
      $ 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
      

    6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
      # id
      uid=0(root) gid=0(root) Gruppen=0(root)
      

    7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
      $ vi ~/.bashrc
      2a3,5
      >    if [ -f /usr/local/etc/bash_completion ]; then
      >         . /usr/local/etc/bash_completion
      >        fi
      

    8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
      $ patch ~/.bashrc
      В данном случае изменения применяются к файлу ~/.bashrc

    9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

      Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

    10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

    11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

    12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

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

    14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

      $ whoami
      
      user
      
      $ #^ Интересно, кто я?
      
      в журнале это будет выглядеть так:
      $ whoami
      
      user
      
      Интересно, кто я?

    15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

      $ whoami
      
      user
      
      $ cat > /dev/null #^ Интересно, кто я?
      
      Программа whoami выводит имя пользователя, под которым 
      мы зарегистрировались в системе.
      -
      Она не может ответить на вопрос о нашем назначении 
      в этом мире.
      
      В журнале это будет выглядеть так:
      $ whoami
      user
      
      Интересно, кто я?
      Программа whoami выводит имя пользователя, под которым
      мы зарегистрировались в системе.

      Она не может ответить на вопрос о нашем назначении
      в этом мире.
      Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

    16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

    17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
    18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
    19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
      1
          2
      3   
          4
      
      Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

    О программе

    LiLaLo (L3) расшифровывается как Live Lab Log.
    Программа разработана для повышения эффективности обучения Unix/Linux-системам.
    (c) Игорь Чубин, 2004-2008

    $Id$