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

Содержание

Журнал

Среда (05/27/09)

/dev/pts/2
15:35:11
## Description: $DESCRIPTION #
  2 # sourced by /etc/init.d/monit
  3 # installed at /etc/default/monit by maintainer scripts
  4 # Fredr=1
  5
  6 # You must set this variable to for monit to start
~
~
~
~
~
~
~
~
~
~
~
"/etc/default/monit" 11L, 326C записано
15:35:37
#cat /var/run/crond.pid
2297
15:36:17
#cat /var/run/ssh.pid
cat: /var/run/ssh.pid: Нет такого файла или каталога
15:38:04
#/etc/init.d/monit restart
Stopping daemon monitor: monit.
Starting daemon monitor: monit.
15:38:30
#pkill 2057

15:38:45
#ps -aux | grep ssh
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
user      2475  0.0  0.0   4888   620 ?        Ss   09:28   0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-session-manager
user     17814  0.0  0.0   5260  2280 pts/1    S+   14:06   0:00 ssh root@10.0.35.100
root     23190  0.0  0.0   3220   776 pts/5    S+   16:39   0:00 grep ssh
15:39:05
#ps aux | grep ssh
user      2475  0.0  0.0   4888   620 ?        Ss   09:28   0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-session-manager
user     17814  0.0  0.0   5260  2280 pts/1    S+   14:06   0:00 ssh root@10.0.35.100
root     23199  0.0  0.0   3216   768 pts/5    R+   16:39   0:00 grep ssh
15:40:05
#cat /var/run/sshd.pid
cat: /var/run/sshd.pid: Нет такого файла или каталога
15:42:59
#pkill 2297

15:43:15
#ps aux | grep cron
root      2297  0.0  0.0   3520  1028 ?        Ss   09:27   0:00 /usr/sbin/cron
root     23784  0.0  0.0   3220   780 pts/5    S+   16:43   0:00 grep cron
15:43:26
#pkill 2297

15:43:29
#ps aux | grep cron
root      2297  0.0  0.0   3520  1028 ?        Ss   09:27   0:00 /usr/sbin/cron
root     23801  0.0  0.0   3220   780 pts/5    S+   16:43   0:00 grep cron
15:44:18
#pkill 2297

15:44:24
#ps aux | grep cron
root      2297  0.0  0.0   3520  1028 ?        Ss   09:27   0:00 /usr/sbin/cron
root     23847  0.0  0.0   3220   776 pts/5    S+   16:44   0:00 grep cron
15:44:26
#pkill 2297

15:44:29
#ps aux | grep cron
root      2297  0.0  0.0   3520  1028 ?        Ss   09:27   0:00 /usr/sbin/cron
root     23864  0.0  0.0   3220   780 pts/5    S+   16:44   0:00 grep cron
15:44:30
#kill 2297

15:44:35
#ps aux | grep cron
root     23880  0.0  0.0   3216   764 pts/5    R+   16:44   0:00 grep cron
15:48:19
#watch 'ps aux | grep cron'

прошло 10 минут
15:58:42
#kill 23920

15:58:53
#ps aux | grep cron
root     24214  0.0  0.0   3216   772 pts/5    S+   16:58   0:00 grep cron
15:59:03
#/etc/init.d/monit restart
Stopping daemon monitor: monit.
16:00:19
#vim /etc/monit/monitrc
16:03:46
#~
  1
"/etc/syslog-ng/syslog-ng-ng.conf" [Новый файл]+q436f+q6b75+q6b64+q6b72+q6b6c+q2332+q2334+q2569+q2a37+q6b31
16:04:07
#~
158 filter f_news { facility(news); };
159 filter f_user { facility(user); };
160 filter f_uucp { facility(uucp); };
161
162 #filter program
163 filter f_ssh_wrong_password { match( 'Failed password for'); };
164
165 filter f_cron_stop { match( 'Alert cron'); };
166 # some filters to select messages of priority greater or equal to info, warnn
    ,
...
169 filter f_at_least_info { level(info..emerg); };
170 filter f_at_least_notice { level(notice..emerg); };
171 filter f_at_least_warn { level(warn..emerg); };
172 filter f_at_least_err { level(err..emerg); };
173 filter f_at_least_crit { level(crit..emerg); };
174
175 # all messages of priority debug not coming from the auth, authpriv, news, aa
    nd
176 # mail facilities
"/etc/syslog-ng/syslog-ng.conf" 362L, 10233C записано
16:06:55
#kill 24392

16:07:04
#ps aux | grep cron
root     24467  0.0  0.0   3216   764 pts/5    R+   17:07   0:00 grep cron
16:07:09
#vim /etc/syslog-ng/syslog-ng.conf
16:12:16
#kill 24499

16:12:21
#ps aux | grep cron
root     24574  0.0  0.0   3216   772 pts/5    S+   17:12   0:00 grep cron
16:14:16
#kill 24614

16:16:07
#kill 24699

16:17:59
#kill 24776

16:18:07
#ps aux | grep cron
root     25219  0.0  0.0   3216   764 pts/5    R+   17:18   0:00 grep cron
прошло 16 минут
/dev/pts/11
16:34:30
$ыssh quiz@10.0.35.100
ssh_exchange_identification: Connection closed by remote host
16:36:34
$ssh quiz@10.0.35.100
quiz@10.0.35.100's password:
+----------------------------------
| ТЕМЫ ПЕРВОГО ДНЯ
| man, shell, vi, screen
| Общее количество вопросов: 40
|
| Вам будут заданы вопросы и показаны варианты ответа на них.
| После каждого вопроса вы должны вводить номер варианта ответа, который вы считаете наиболее правильным.
| После ввода номера нужно нажимать <ENTER>.
| Возвращаться назад и менять ответ, после того как вы нажали <ENTER>, нельзя.
...
У вас в текущем каталоге есть файл, который называется -rf , и вы хотите его стереть.
Вы даёте команду rm -rf , но в ответ получаете какие-то сообщения об ошибках.
Как быть?
1 Такого быть не может, файл с именем -rf создать нельзя
2 Такого быть не может, ошибок никаких быть не должно, файл удалится без вопросов
3 Надо перелогиниться под root'ом, использовать su или sudo
4 Программа удаляет все файлы на диске и сообщает, что какие-то файлы удалить она не может. Но это уже всё равно
5 Всё правильно, надо было просто вызвать так: rm -- -rf
6 Всё правильно, надо было просто вызвать так: rm ./-rf
Connection to 10.0.35.100 closed.
16:38:25
$ssh quiz@10.0.35.100
3
Вы не любите vi несмотря ни на что. Вы хотите его не использовать,
и прекрасно обходитесь редактором nano. Тем не менее vi подстерегает вас в самых неожиданных местах.
Например, вы запустили vipw чтобы отредактировать файл паролей, а там опять этот редактор!
Как сделать так чтобы вместо vi в таких случаях вызывался nano?
1 Никак. Команда называется vipw, потому вызывается и редактор vi
2 вызвать nanopw
3 EDITOR=nano
4 set EDITOR=nano
5 export EDITOR=nano
...
но вместо желаемого подключения получаете какой-то странный текст.
Что это?
1 Это список активных сеансов screen, их больше одного, поэтому при запуске screen нужно указать, к какому подключаться
2 Это вызвался режим тонкой настройки screen
3 screen должен быть запущен в multiuser-режиме (multiuser on)
4 Эта сборка screen не поддерживает несколько одновременных подключений
5 Для этого необходимо выполнять screen в режиме ядра
3
Your score: 23
Connection to 10.0.35.100 closed.
прошло 50 минут
/dev/pts/2
17:29:15
#cat /etc/def
default/ defoma/
17:29:15
#cat /etc/default/monit
# Defaults for monit initscript
# sourced by /etc/init.d/monit
# installed at /etc/default/monit by maintainer scripts
# Fredrik Steen <stone@debian.org>
# You must set this variable to for monit to start
startup=1
# To change the intervals which monit should run uncomment
# and change this variable.
# CHECK_INTERVALS=180
17:29:57
#init 0

Четверг (05/28/09)

/dev/pts/0
08:50:13
$su - root
Пароль:
08:50:25
#ssh root@10.0.35.100
root@10.0.35.100's password:
Linux linux0 2.6.18-6-xen-686 #1 SMP Sun Feb 10 22:43:13 UTC 2008 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu May 28 09:55:12 2009 from linux9.unix.nt
/dev/pts/4
08:50:56
$su - root
Пароль:
l3-agent is already running: pid=2787; pidfile=/root/.lilalo/l3-agent.pid
08:51:05
#mkdir /tmp/d

08:57:03
#ls -ld /tmp
drwxrwxrwt 10 root root 4096 Май 28 10:11 /tmp
/dev/pts/0
09:04:41
#screen -x
/dev/pts/4
09:11:40
#apt-get install unzip
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  update-inetd portmap
Для их удаления используйте 'apt-get autoremove'.
Предлагаемые пакеты:
  zip
НОВЫЕ пакеты, которые будут установлены:
  unzip
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 179kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 389kB.
Получено:1 http://10.0.35.1 sid/main unzip 6.0-1 [179kB]
Получено 179kБ за 0s (5275kБ/c)
Выбор ранее не выбранного пакета unzip.
(Чтение базы данных ... на данный момент установлено 50536 файлов и каталогов.)
Распаковывается пакет unzip (из файла .../archives/unzip_6.0-1_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет unzip (6.0-1) ...
09:17:47
#apt-get install zip
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  update-inetd portmap
Для их удаления используйте 'apt-get autoremove'.
НОВЫЕ пакеты, которые будут установлены:
  zip
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 313kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 610kB.
Получено:1 http://10.0.35.1 sid/main zip 3.0-1 [313kB]
Получено 313kБ за 0s (7395kБ/c)
Выбор ранее не выбранного пакета zip.
(Чтение базы данных ... на данный момент установлено 50553 файлов и каталогов.)
Распаковывается пакет zip (из файла .../archives/zip_3.0-1_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет zip (3.0-1) ...
09:18:33
#find / -perm +4000 -ls
find: `/proc/4940/task/4940/fd/5': Нет такого файла или каталога
find: `/proc/4940/task/4940/fdinfo/5': Нет такого файла или каталога
find: `/proc/4940/fd/5': Нет такого файла или каталога
find: `/proc/4940/fdinfo/5': Нет такого файла или каталога
1612573   28 -rwsr-xr-x   1 root     root        27908 Май 22 18:03 /bin/su
1612563   28 -rwsr-xr-x   1 root     root        26616 Дек 10  2007 /bin/ping6
1612562   32 -rwsr-xr-x   1 root     root        30788 Дек 10  2007 /bin/ping
1612555   68 -rwsr-xr-x   1 root     root        64112 Апр 29  2008 /bin/mount
1612580   44 -rwsr-xr-x   1 root     root        44088 Апр 29  2008 /bin/umount
1434063   12 -rwsr-xr-x   1 root     root         9620 Май  8 18:38 /usr/lib/pt_chown
...
1437281  128 -rwsr-xr-x   2 root     root       123636 Мар 28 23:17 /usr/bin/sudoedit
1436774  328 -rwsr-sr-x   1 root     utmp       328960 Апр 17 12:50 /usr/bin/screen
1437408   76 -rwsr-sr-x   1 root     mail        72544 Апр 30  2006 /usr/bin/procmail
1433711   36 -rwsr-xr-x   1 root     root        36280 Май 22 18:03 /usr/bin/chfn
1437281  128 -rwsr-xr-x   2 root     root       123636 Мар 28 23:17 /usr/bin/sudo
1436758   24 -rwsr-sr-x   1 root     lp          22316 Май 20  2008 /usr/bin/lprm
1437607    8 -rwsr-xr-x   1 root     root         5752 Мар 18 20:21 /usr/bin/kgrantpty
1437642    8 -rwsr-xr-x   1 root     root         6068 Мар 18 20:21 /usr/bin/kpac_dhcp_helper
1436756   24 -rwsr-sr-x   1 root     lp          24144 Май 20  2008 /usr/bin/lpr
^[[A^[[B^C
09:23:58
#find / -perm +4000 -ls | wc -l
find: `/proc/4948/task/4948/fd/5': Нет такого файла или каталога
find: `/proc/4948/task/4948/fdinfo/5': Нет такого файла или каталога
find: `/proc/4948/fd/5': Нет такого файла или каталога
find: `/proc/4948/fdinfo/5': Нет такого файла или каталога
30
09:24:06
#find / -perm +4000 -ls | wc
find: `/proc/4957/task/4957/fd/5': Нет такого файла или каталога
find: `/proc/4957/task/4957/fdinfo/5': Нет такого файла или каталога
find: `/proc/4957/fd/5': Нет такого файла или каталога
find: `/proc/4957/fdinfo/5': Нет такого файла или каталога
     30     330    2753
09:24:50
#man wc
09:27:03
#find / -perm -0002 -type d -ls
895911    4 drwxrwxrwt   3 root     root         4096 Май 28 09:53 /var/lock
895923    4 drwxrwxrwt   3 root     root         4096 Май 26 13:52 /var/tmp
895915    4 drwxrwsrwt   2 root     mail         4096 Май 27 11:24 /var/mail
find: `/proc/4991/task/4991/fd/5': Нет такого файла или каталога
find: `/proc/4991/task/4991/fdinfo/5': Нет такого файла или каталога
find: `/proc/4991/fd/5': Нет такого файла или каталога
find: `/proc/4991/fdinfo/5': Нет такого файла или каталога
1270465    4 drwxrwxrwt  10 root     root         4096 Май 28 10:21 /tmp
1270467    4 drwxrwxrwt   2 root     root         4096 Май 28 09:50 /tmp/.ICE-unix
1270466    4 drwxrwxrwt   2 root     root         4096 Май 28 09:48 /tmp/.X11-unix
  4850    0 drwxrwxrwt   3 root     root           60 Май 28  2009 /dev/shm
09:31:21
#id
uid=0(root) gid=0(root) группы=0(root)
прошло 19 минут
09:51:19
#apt-get install rar
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Пакет rar недоступен, но упомянут в списке зависимостей другого пакета.
Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list
E: Для пакета rar не найдены кандидаты на установку
09:51:45
#apt-get install з7яшз
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удалось найти пакет з7яшз
09:54:01
#apt-get install з7Ñp7zip
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  update-inetd portmap
Для их удаления используйте 'apt-get autoremove'.
Предлагаемые пакеты:
  p7zip-full
НОВЫЕ пакеты, которые будут установлены:
  p7zip
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 330kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 898kB.
Получено:1 http://10.0.35.1 sid/main p7zip 4.65~dfsg.1-1 [330kB]
Получено 330kБ за 7s (46,3kБ/c)
Выбор ранее не выбранного пакета p7zip.
(Чтение базы данных ... на данный момент установлено 50568 файлов и каталогов.)
Распаковывается пакет p7zip (из файла .../p7zip_4.65~dfsg.1-1_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет p7zip (4.65~dfsg.1-1) ...
09:54:18
#exit
exit
/dev/pts/0
09:55:34
#exit
exit
прошло 13 минут
10:09:28
#exit
Connection to 10.0.35.100 closed.
/dev/pts/0
10:10:11
$su - root
Пароль:
/dev/pts/4
10:10:40
$su - root
Пароль:
l3-agent is already running: pid=2878; pidfile=/root/.lilalo/l3-agent.pid
10:10:48
#uid
bash: uid: команда не найдена
10:12:40
#id
uid=0(root) gid=0(root) группы=0(root)
10:12:43
#cta /etc/shells
bash: cta: команда не найдена
прошло 11 минут
/dev/pts/0
10:24:27
#screen -x
прошло 11 минут
/dev/pts/4
10:36:18
#cat /etc/shells
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/bash
/bin/rbash
/usr/bin/screen
10:36:26
#ps -aux | awk '{print $2;}'
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
PID
1
2
3
4
5
6
7
8
...
3165
3208
3216
3314
3315
3329
3432
3433
4974
4975
10:45:03
#ps -aux | awk '{print $2;}'| head
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
PID
1
2
3
4
5
6
7
8
9
10:45:14
#ps -aux | awk '{print $2;}'| head 10,20
head: невозможно открыть `10,20' для чтения: Нет такого файла или каталога
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
10:45:33
#ps -aux | awk '{print $2;}'| head "{10,20}"
head: невозможно открыть `{10,20}' для чтения: Нет такого файла или каталога
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
10:45:57
#ps -aux | awk '{print $2;}'| head 10,20 -c
head: option requires an argument -- 'c'
Попробуйте `head --help' для получения более подробного описания.
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
10:47:25
#ps -aux | awk '{print $2;}'| head
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
PID
1
2
3
4
5
6
7
8
9
10:48:05
#ps aux | awk '{print $2;}'
PID
1
2
3
4
5
6
7
8
9
...
3165
3208
3216
3314
3315
3329
3432
3433
5033
5034
10:48:32
#apt-get install strace
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  update-inetd portmap
Для их удаления используйте 'apt-get autoremove'.
НОВЫЕ пакеты, которые будут установлены:
  strace
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 161kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 336kB.
Получено:1 http://10.0.35.1 sid/main strace 4.5.18-1 [161kB]
Получено 161kБ за 0s (7219kБ/c)
Выбор ранее не выбранного пакета strace.
(Чтение базы данных ... на данный момент установлено 50630 файлов и каталогов.)
Распаковывается пакет strace (из файла .../strace_4.5.18-1_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет strace (4.5.18-1) ...
прошло 13 минут
11:02:00
#strace cron | echo > /tmd/d/1
bash: /tmd/d/1: Нет такого файла или каталога
execve("/usr/sbin/cron", ["cron"], [/* 17 vars */]) = 0
brk(0)                                  = 0x8b8a000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb80ba000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=37801, ...}) = 0
mmap2(NULL, 37801, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb80b0000
close(3)                                = 0
...
munmap(0xb80b7000, 4096)                = 0
socket(PF_FILE, 0x80002 /* SOCK_??? */, 0) = 4
connect(4, {sa_family=AF_FILE, path="/dev/log"}, 110) = -1 EPROTOTYPE (Protocol wrong type for socket)
close(4)                                = 0
socket(PF_FILE, 0x80001 /* SOCK_??? */, 0) = 4
connect(4, {sa_family=AF_FILE, path="/dev/log"}, 110) = 0
send(4, "<78>May 28 12:13:59 cron[5535]: "..., 133, MSG_NOSIGNAL) = 133
close(4)                                = 0
_llseek(3, -1, [4], SEEK_CUR)           = 0
exit_group(1)                           = ?
прошло 11 минут
11:13:59
#cd /tmp/d
bash: cd: /tmp/d: Нет такого файла или каталога
11:14:08
#cd /tmp/

11:14:13
#cd d
bash: cd: d: Нет такого файла или каталога
11:14:19
#mkdir d

11:14:25
#cd d

11:14:29
#strace cron | echo > /tmd/d/1
bash: /tmd/d/1: Нет такого файла или каталога
execve("/usr/sbin/cron", ["cron"], [/* 18 vars */]) = 0
brk(0)                                  = 0x8985000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb80cc000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=37801, ...}) = 0
mmap2(NULL, 37801, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb80c2000
close(3)                                = 0
...
munmap(0xb80c9000, 4096)                = 0
socket(PF_FILE, 0x80002 /* SOCK_??? */, 0) = 4
connect(4, {sa_family=AF_FILE, path="/dev/log"}, 110) = -1 EPROTOTYPE (Protocol wrong type for socket)
close(4)                                = 0
socket(PF_FILE, 0x80001 /* SOCK_??? */, 0) = 4
connect(4, {sa_family=AF_FILE, path="/dev/log"}, 110) = 0
send(4, "<78>May 28 12:14:33 cron[5581]: "..., 133, MSG_NOSIGNAL) = 133
close(4)                                = 0
_llseek(3, -1, [4], SEEK_CUR)           = 0
exit_group(1)                           = ?
11:14:45
#strace cron | echo > /tmd/d/1.txt
bash: /tmd/d/1.txt: Нет такого файла или каталога
execve("/usr/sbin/cron", ["cron"], [/* 18 vars */]) = 0
brk(0)                                  = 0x9d45000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f15000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=37801, ...}) = 0
mmap2(NULL, 37801, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f0b000
close(3)                                = 0
...
munmap(0xb7f12000, 4096)                = 0
socket(PF_FILE, 0x80002 /* SOCK_??? */, 0) = 4
connect(4, {sa_family=AF_FILE, path="/dev/log"}, 110) = -1 EPROTOTYPE (Protocol wrong type for socket)
close(4)                                = 0
socket(PF_FILE, 0x80001 /* SOCK_??? */, 0) = 4
connect(4, {sa_family=AF_FILE, path="/dev/log"}, 110) = 0
send(4, "<78>May 28 12:14:59 cron[5599]: "..., 133, MSG_NOSIGNAL) = 133
close(4)                                = 0
_llseek(3, -1, [4], SEEK_CUR)           = 0
exit_group(1)                           = ?
11:14:59
#ls -l
итого 0
11:15:06
#echo strace cron > /tmd/d/1.txt
bash: /tmd/d/1.txt: Нет такого файла или каталога
/dev/pts/8
11:21:12
$su - root
Пароль:
l3-agent is already running: pid=2878; pidfile=/root/.lilalo/l3-agent.pid
11:21:22
#vim
11:22:29
# 3
bash: lsof: команда не найдена
11:23:20
#apt-get install lsof
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  update-inetd portmap
Для их удаления используйте 'apt-get autoremove'.
НОВЫЕ пакеты, которые будут установлены:
  lsof
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 275kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 451kB.
Получено:1 http://10.0.35.1 sid/main lsof 4.81.dfsg.1-1 [275kB]
Получено 275kБ за 0s (8238kБ/c)
Выбор ранее не выбранного пакета lsof.
(Чтение базы данных ... на данный момент установлено 50640 файлов и каталогов.)
Распаковывается пакет lsof (из файла .../lsof_4.81.dfsg.1-1_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет lsof (4.81.dfsg.1-1) ...
11:23:42
#lsof vi
lsof: status error on vi: No such file or directory
lsof 4.81
 latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
 latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ
 latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man
 usage: [-?abhlnNoOPRtUvVX] [+|-c c] [+|-d s] [+D D] [+|-f[gG]]
 [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+m [m]] [+|-M] [-o [o]] [-p s]
[+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]
Use the ``-h'' option to get more help information.
11:24:01
#ps -t2
  PID TTY          TIME CMD
 2910 pts/2    00:00:00 su
 2917 pts/2    00:00:00 script
 3033 pts/2    00:00:00 script
/dev/pts/4
11:25:51
$su - root
Пароль:
l3-agent is already running: pid=2878; pidfile=/root/.lilalo/l3-agent.pid
/dev/pts/8
11:26:56
#strace strace
execve("/usr/bin/strace", ["strace"], [/* 17 vars */]) = 0
brk(0)                                  = 0x9118000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f41000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=37801, ...}) = 0
mmap2(NULL, 37801, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f37000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
...
-o file -- send trace output to FILE instead of stderr
-O overhead -- set overhead for tracing syscalls to OVERHEAD usecs
-p pid -- trace process with process id PID, may be repeated
-s strsize -- limit length of print strings to STRSIZE chars (default 32)
-S sortby -- sort syscall counts by: time, calls, name, nothing (default time)
-u username -- run command as username handling setuid and/or setgid
-E var=val -- put var=val in the environment for command
-E var -- remove var from the environment for command
) = 1587
exit_group(1)                           = ?
11:27:50
#strace cron
execve("/usr/sbin/cron", ["cron"], [/* 17 vars */]) = 0
brk(0)                                  = 0x9ae3000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb8069000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=37801, ...}) = 0
mmap2(NULL, 37801, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb805f000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
...
munmap(0xb8066000, 4096)                = 0
socket(PF_FILE, 0x80002 /* SOCK_??? */, 0) = 4
connect(4, {sa_family=AF_FILE, path="/dev/log"}, 110) = -1 EPROTOTYPE (Protocol wrong type for socket)
close(4)                                = 0
socket(PF_FILE, 0x80001 /* SOCK_??? */, 0) = 4
connect(4, {sa_family=AF_FILE, path="/dev/log"}, 110) = 0
send(4, "<78>May 28 12:28:09 cron[8433]: "..., 133, MSG_NOSIGNAL) = 133
close(4)                                = 0
_llseek(3, -1, [4], SEEK_CUR)           = 0
exit_group(1)                           = ?
11:28:09
#apt-get install miscfiles
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Уже установлена самая новая версия miscfiles.
miscfiles установлен вручную.
Следующие пакеты устанавливались автоматически и больше не требуются:
  update-inetd portmap
Для их удаления используйте 'apt-get autoremove'.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
11:38:08
#zcat /usr/share/dict/propernames.gz | tr A-Z a-z | head -200
angelica
angus
anita
ann
anna
annard
anne
annie
anthea
anthony
...
chris
christian
christie
christina
christofer
christophe
christopher
chuck
cinderella
cindie
11:47:03
#ls -l
итого 24
-rw-r--r-- 1 root root   30 Май 27 11:25 $
-rw-r--r-- 1 root root    0 Май 26 10:23 192.168.151
-rw-r--r-- 1 root root    0 Май 26 10:23 192.168.1510
-rw-r--r-- 1 root root    0 Май 26 10:23 192.168.1511
-rw-r--r-- 1 root root    0 Май 26 10:23 192.168.1512
-rw-r--r-- 1 root root    0 Май 26 10:23 192.168.1513
-rw-r--r-- 1 root root    0 Май 26 10:23 192.168.1514
-rw-r--r-- 1 root root    0 Май 26 10:23 192.168.1515
-rw-r--r-- 1 root root    0 Май 26 10:23 192.168.1516
...
-rw-r--r-- 1 root root    0 Май 26 10:23 192.168.155
-rw-r--r-- 1 root root    0 Май 26 10:23 192.168.156
-rw-r--r-- 1 root root    0 Май 26 10:23 192.168.157
-rw-r--r-- 1 root root    0 Май 26 10:23 192.168.158
-rw-r--r-- 1 root root    0 Май 26 10:23 192.168.159
drwxr-xr-x 2 root root 4096 Май 25 16:26 246
drwxr-xr-x 2 root root 4096 Май 25 16:26 642
drwxr-xr-x 2 root root 4096 Май 25 16:26 86
-rw-r--r-- 1 root root  930 Май 25 17:55 file
-rw-r--r-- 1 root root   41 Май 27 10:22 mailto
11:47:08
#ls -l | grep .adduser

11:47:16
#ls
$             192.168.1512  192.168.1516  192.168.153  192.168.157  642
192.168.151   192.168.1513  192.168.1517  192.168.154  192.168.158  86
192.168.1510  192.168.1514  192.168.1518  192.168.155  192.168.159  file
192.168.1511  192.168.1515  192.168.152   192.168.156  246          mailto
11:47:25
#cshod +x .adduser
bash: cshod: команда не найдена
11:47:46
#cshmod +x .adduser
bash: cshmod: команда не найдена

Файлы

  • /etc/def
  • /etc/default/monit
  • /etc/shells
  • /var/run/crond.pid
  • /var/run/ssh.pid
  • /var/run/sshd.pid
  • /etc/def
    >
    default/ defoma/
    
    /etc/default/monit
    >
    # Defaults for monit initscript
    # sourced by /etc/init.d/monit
    # installed at /etc/default/monit by maintainer scripts
    # Fredrik Steen <stone@debian.org>
    # You must set this variable to for monit to start
    startup=1
    # To change the intervals which monit should run uncomment
    # and change this variable.
    # CHECK_INTERVALS=180
    
    /etc/shells
    >
    # /etc/shells: valid login shells
    /bin/csh
    /bin/sh
    /usr/bin/es
    /usr/bin/ksh
    /bin/ksh
    /usr/bin/rc
    /usr/bin/tcsh
    /bin/tcsh
    /usr/bin/esh
    /bin/bash
    /bin/rbash
    /usr/bin/screen
    
    /var/run/crond.pid
    >
    2297
    
    /var/run/ssh.pid
    >
    cat: /var/run/ssh.pid: Нет такого файла или каталога
    
    /var/run/sshd.pid
    >
    cat: /var/run/sshd.pid: Нет такого файла или каталога
    

    Статистика

    Время первой команды журнала15:35:11 2009- 5-27
    Время последней команды журнала11:47:46 2009- 5-28
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %19.80
    Процент синтаксически неверно набранных команд, % 4.95
    Суммарное время работы с терминалом *, час 4.02
    Количество командных строк в единицу времени, команда/мин 0.42
    Частота использования команд
    ps19|=============| 13.19%
    grep13|=========| 9.03%
    apt-get8|=====| 5.56%
    awk7|====| 4.86%
    }'7|====| 4.86%
    kill7|====| 4.86%
    cat6|====| 4.17%
    head6|====| 4.17%
    su6|====| 4.17%
    pkill5|===| 3.47%
    ls5|===| 3.47%
    strace5|===| 3.47%
    cd4|==| 2.78%
    echo4|==| 2.78%
    find4|==| 2.78%
    vim3|==| 2.08%
    ssh3|==| 2.08%
    exit3|==| 2.08%
    mkdir2|=| 1.39%
    screen2|=| 1.39%
    wc2|=| 1.39%
    ~2|=| 1.39%
    1.txt2|=| 1.39%
    /etc/init.d/monit2|=| 1.39%
    id2|=| 1.39%
    12|=| 1.39%
    man1|| 0.69%
    cshmod1|| 0.69%
    #1|| 0.69%
    31|| 0.69%
    watch1|| 0.69%
    lsof1|| 0.69%
    cta1|| 0.69%
    uid1|| 0.69%
    cshod1|| 0.69%
    ыssh1|| 0.69%
    zcat1|| 0.69%
    init1|| 0.69%
    tr1|| 0.69%
    ____
    *) Интервалы неактивности длительностью 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$