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

Содержание

Журнал

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

/dev/pts/1
17:15:23
#tail /var/log/daemon.log
May 27 17:13:38 linux15 monit[21543]: 'cron' process is not running
May 27 17:13:38 linux15 monit[21543]: 'cron' trying to restart
May 27 17:13:38 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh
May 27 17:14:08 linux15 monit[21543]: 'cron' failed to start
May 27 17:14:08 linux15 monit[21543]: 'cron' process is not running
May 27 17:14:08 linux15 monit[21543]: 'cron' trying to restart
May 27 17:14:08 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh
May 27 17:14:24 linux15 monit[21543]: monit daemon with pid [21543] killed
May 27 17:14:24 linux15 monit[21543]: Monit stopped
May 27 17:14:24 linux15 monit[21543]: 'cron' failed to start
17:15:33
#tail /var/log/daemon.log
May 27 17:13:38 linux15 monit[21543]: 'cron' process is not running
May 27 17:13:38 linux15 monit[21543]: 'cron' trying to restart
May 27 17:13:38 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh
May 27 17:14:08 linux15 monit[21543]: 'cron' failed to start
May 27 17:14:08 linux15 monit[21543]: 'cron' process is not running
May 27 17:14:08 linux15 monit[21543]: 'cron' trying to restart
May 27 17:14:08 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh
May 27 17:14:24 linux15 monit[21543]: monit daemon with pid [21543] killed
May 27 17:14:24 linux15 monit[21543]: Monit stopped
May 27 17:14:24 linux15 monit[21543]: 'cron' failed to start
17:15:37
#tail /var/log/daemon.log
May 27 17:13:38 linux15 monit[21543]: 'cron' process is not running
May 27 17:13:38 linux15 monit[21543]: 'cron' trying to restart
May 27 17:13:38 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh
May 27 17:14:08 linux15 monit[21543]: 'cron' failed to start
May 27 17:14:08 linux15 monit[21543]: 'cron' process is not running
May 27 17:14:08 linux15 monit[21543]: 'cron' trying to restart
May 27 17:14:08 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh
May 27 17:14:24 linux15 monit[21543]: monit daemon with pid [21543] killed
May 27 17:14:24 linux15 monit[21543]: Monit stopped
May 27 17:14:24 linux15 monit[21543]: 'cron' failed to start
17:15:40
#tail /var/log/daemon.log
May 27 17:13:38 linux15 monit[21543]: 'cron' process is not running
May 27 17:13:38 linux15 monit[21543]: 'cron' trying to restart
May 27 17:13:38 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh
May 27 17:14:08 linux15 monit[21543]: 'cron' failed to start
May 27 17:14:08 linux15 monit[21543]: 'cron' process is not running
May 27 17:14:08 linux15 monit[21543]: 'cron' trying to restart
May 27 17:14:08 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh
May 27 17:14:24 linux15 monit[21543]: monit daemon with pid [21543] killed
May 27 17:14:24 linux15 monit[21543]: Monit stopped
May 27 17:14:24 linux15 monit[21543]: 'cron' failed to start
17:15:56
#tail /var/log/
apt/            dmesg.0         gdm/            messages
aptitude        dmesg.1.gz      kern.log        news/
auth.log        dmesg.2.gz      lastlog         pycentral.log
boot            dmesg.3.gz      lp-acct         syslog
bootstrap.log   dmesg.4.gz      lp-errs         user.log
btmp            dpkg.log        lpr.log         wtmp
ConsoleKit/     exim4/          mail.err        Xorg.0.log
daemon.log      faillog         mail.info       Xorg.0.log.old
debug           fontconfig.log  mail.log
dmesg           fsck/           mail.warn
17:15:56
#tail /var/log/mail.err

17:16:15
#tail /var/log/mail.info
May 27 12:45:36 linux16 sendmaill: prikol
May 27 12:45:40 linux16 sendmaill: prikol
May 27 12:45:41 linux16 sendmaill: prikol
May 27 12:45:41 linux16 sendmaill: prikol
May 27 12:45:41 linux16 sendmaill: prikol
May 27 12:45:42 linux16 sendmaill: prikol
May 27 12:45:42 linux16 sendmaill: prikol
May 27 12:45:13 linux15 sendmail: teststststst
May 27 12:45:15 linux15 sendmail: teststststst
May 27 15:22:22 linux15 sendmail: teststststst
17:16:19
#tail /var/log/mail.log
May 27 12:45:36 linux16 sendmaill: prikol
May 27 12:45:40 linux16 sendmaill: prikol
May 27 12:45:41 linux16 sendmaill: prikol
May 27 12:45:41 linux16 sendmaill: prikol
May 27 12:45:41 linux16 sendmaill: prikol
May 27 12:45:42 linux16 sendmaill: prikol
May 27 12:45:42 linux16 sendmaill: prikol
May 27 12:45:13 linux15 sendmail: teststststst
May 27 12:45:15 linux15 sendmail: teststststst
May 27 15:22:22 linux15 sendmail: teststststst
17:16:25
#tail /var/log/mail.
mail.err   mail.info  mail.log   mail.warn
17:16:25
#tail /var/log/mail.warn

17:16:37
#tail /var/log/daemon.log
May 27 17:13:38 linux15 monit[21543]: 'cron' process is not running
May 27 17:13:38 linux15 monit[21543]: 'cron' trying to restart
May 27 17:13:38 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh
May 27 17:14:08 linux15 monit[21543]: 'cron' failed to start
May 27 17:14:08 linux15 monit[21543]: 'cron' process is not running
May 27 17:14:08 linux15 monit[21543]: 'cron' trying to restart
May 27 17:14:08 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh
May 27 17:14:24 linux15 monit[21543]: monit daemon with pid [21543] killed
May 27 17:14:24 linux15 monit[21543]: Monit stopped
May 27 17:14:24 linux15 monit[21543]: 'cron' failed to start
прошло 11 минут
17:28:08
#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
/dev/pts/2
17:28:35
$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.
17:38:28
$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 в режиме ядра
1
Your score: 27
Connection to 10.0.35.100 closed.
/dev/pts/0
17:45:00
#man man
прошла 31 минута
18:16:25
#init 0

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

/dev/pts/2
09:13:24
$su
Пароль:
/dev/pts/1
09:13:24
$su
Пароль:
/dev/pts/0
09:13:24
$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:44:56 2009 from linux14.unix.nt
/dev/pts/1
09:13:57
#cat /etc/host
host.conf    hostname     hosts.allow  hosts.deny
09:13:57
#cat /etc/hostname
linux15
09:14:25
#cat /etc/host.conf
multi on
09:14:33
#man hostname
09:15:34
#man hosts
/dev/pts/2
09:16:27
#vi /etc/hosts
09:17:06
#exit
exit
09:17:11
$su
Пароль:
09:17:15
#ping 192.168.15.16
PING 192.168.15.16 (192.168.15.16) 56(84) bytes of data.
From 192.168.15.15 icmp_seq=1 Destination Host Unreachable
From 192.168.15.15 icmp_seq=2 Destination Host Unreachable
From 192.168.15.15 icmp_seq=3 Destination Host Unreachable
^[[3~^C
--- 192.168.15.16 ping statistics ---
6 packets transmitted, 0 received, +3 errors, 100% packet loss, time 5030ms
, pipe 3
09:17:53
#ping 192.168.15.16
PING 192.168.15.16 (192.168.15.16) 56(84) bytes of data.
From 192.168.15.15 icmp_seq=1 Destination Host Unreachable
From 192.168.15.15 icmp_seq=2 Destination Host Unreachable
From 192.168.15.15 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.15.16 ping statistics ---
6 packets transmitted, 0 received, +3 errors, 100% packet loss, time 5030ms
, pipe 3
прошло 10 минут
09:28:17
#ifconfig
eth0      Link encap:Ethernet  HWaddr 00:22:15:c8:4e:d2
          inet addr:192.168.15.15  Bcast:192.168.15.255  Mask:255.255.255.0
          inet6 addr: fe80::222:15ff:fec8:4ed2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:398 (398.0 B)
          Interrupt:28 Base address:0x6000
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:54 errors:0 dropped:0 overruns:0 frame:0
          TX packets:54 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5162 (5.0 KiB)  TX bytes:5162 (5.0 KiB)
09:28:32
#ping 192.168.15.16
PING 192.168.15.16 (192.168.15.16) 56(84) bytes of data.
From 192.168.15.15 icmp_seq=1 Destination Host Unreachable
From 192.168.15.15 icmp_seq=2 Destination Host Unreachable
From 192.168.15.15 icmp_seq=3 Destination Host Unreachable
From 192.168.15.15 icmp_seq=4 Destination Host Unreachable
From 192.168.15.15 icmp_seq=5 Destination Host Unreachable
From 192.168.15.15 icmp_seq=6 Destination Host Unreachable
From 192.168.15.15 icmp_seq=7 Destination Host Unreachable
From 192.168.15.15 icmp_seq=8 Destination Host Unreachable
From 192.168.15.15 icmp_seq=9 Destination Host Unreachable
...
64 bytes from 192.168.15.16: icmp_seq=72 ttl=64 time=0.069 ms
64 bytes from 192.168.15.16: icmp_seq=73 ttl=64 time=0.069 ms
64 bytes from 192.168.15.16: icmp_seq=74 ttl=64 time=0.067 ms
64 bytes from 192.168.15.16: icmp_seq=75 ttl=64 time=0.070 ms
64 bytes from 192.168.15.16: icmp_seq=76 ttl=64 time=0.069 ms
64 bytes from 192.168.15.16: icmp_seq=77 ttl=64 time=0.074 ms
^C
--- 192.168.15.16 ping statistics ---
77 packets transmitted, 15 received, +60 errors, 80% packet loss, time 76333ms
rtt min/avg/max/mdev = 0.065/0.070/0.081/0.005 ms, pipe 3
09:29:56
#!l3
l3-agent
прошло 10 минут
09:40:24
#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 10:11:07 2009 from linux16.unix.nt
/dev/pts/0
09:45:40
#ls /home/
quiz  user
09:45:45
#ls /home/quiz/
quiz  start-quiz
09:45:52
#cat /home/quiz/start-quiz
#!/usr/bin/perl
$id = $ENV{"SSH_CLIENT"};
$id = (split(/\s+/, $id))[0];
if ($id) { $id .= "-"};
$quiz_file = "quiz";
$log_file = ".quiz/$id".time().'.log';
@Questions = ();
$Score = 0;
sub ask_question($)
{
...
    }
    else {
        $question .= $_;
    };
}
close(QUIZ);
for $question (@Questions) {
    $Score += ask_question($question);
}
print "Your score: $Score\n";
09:46:04
#cat /home/quiz/quiz
Как заменить во всём файле последовательность abc на последовательность xyz?
# :s/abc/xyz/
# :!s/abc/xyz/
# :%s/abc/xyz/
# :*s/abc/xyz/
# :s/abc/xyz/g
# :!s/abc/xyz/g
#! :%s/abc/xyz/g
# :*s/abc/xyz/g
# :s/abc/xyz/G
...
# pkill screen
# kill $(pgrep screen)
Вы хотите подключиться к активному сеансу screen, даёте команду screen -x,
но вместо желаемого подключения получаете какой-то странный текст.
Что это?
#! Это список активных сеансов screen, их больше одного, поэтому при запуске screen нужно указать, к какому подключаться
# Это вызвался режим тонкой настройки screen
# screen должен быть запущен в multiuser-режиме (multiuser on)
# Эта сборка screen не поддерживает несколько одновременных подключений
# Для этого необходимо выполнять screen в режиме ядра
09:49:31
#screen -x
прошло 13 минут
/dev/pts/1
10:02:57
#man scp
/dev/pts/2
10:03:58
#find / -perm +4000 -ls
find: `/proc/6598/task/6598/fd/6': Нет такого файла или каталога
find: `/proc/6598/task/6598/fdinfo/6': Нет такого файла или каталога
find: `/proc/6598/fd/6': Нет такого файла или каталога
find: `/proc/6598/fdinfo/6': Нет такого файла или каталога
722354   32 -rwsr-xr-x   1 root     root        30788 Дек 10  2007 /bin/ping
722355   28 -rwsr-xr-x   1 root     root        26616 Дек 10  2007 /bin/ping6
722347   68 -rwsr-xr-x   1 root     root        64112 Апр 29  2008 /bin/mount
722372   44 -rwsr-xr-x   1 root     root        44088 Апр 29  2008 /bin/umount
722365   28 -rwsr-xr-x   1 root     root        27908 Май 22 18:03 /bin/su
559661   40 -rwsr-xr--   1 root     messagebus    38888 Май  9 00:48 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
...
529539  128 -rwsr-xr-x   2 root     root       123636 Мар 28 23:17 /usr/bin/sudo
528944   24 -rwsr-sr-x   1 root     lp          24144 Май 20  2008 /usr/bin/lpr
528946   24 -rwsr-sr-x   1 root     lp          22316 Май 20  2008 /usr/bin/lprm
525509   24 -rwsr-xr-x   1 root     root        23780 Май 22 18:03 /usr/bin/newgrp
525519   36 -rwsr-xr-x   1 root     root        34392 Май 22 18:03 /usr/bin/passwd
525456   48 -rwsr-xr-x   1 root     root        48760 Май 22 18:03 /usr/bin/gpasswd
528984  328 -rwsr-sr-x   1 root     utmp       328960 Апр 17 12:50 /usr/bin/screen
525402   36 -rwsr-xr-x   1 root     root        36280 Май 22 18:03 /usr/bin/chfn
529539  128 -rwsr-xr-x   2 root     root       123636 Мар 28 23:17 /usr/bin/sudoedit
525405   28 -rwsr-xr-x   1 root     root        27736 Май 22 18:03 /usr/bin/chsh
прошло 12 минут
10:16:28
#scp /home/quiz/quiz 192.168.15.15:/home/user/
The authenticity of host '192.168.15.15 (192.168.15.15)' can't be established.
RSA key fingerprint is 34:6c:c2:da:38:7c:d7:17:e9:cd:17:8d:e7:cf:f1:a6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.15.15' (RSA) to the list of known hosts.
root@192.168.15.15's password:
quiz                                          100%   18KB  17.8KB/s   00:00
10:17:51
#exit
exit
Connection to 10.0.35.100 closed.
прошло 10 минут
10:28:05
#find / -perm +2000 -ls
673153   28 -rwxr-sr-x   1 root     shadow      26372 Мар 21 05:36 /sbin/unix_chkpwd
find: `/proc/6606/task/6606/fd/6': Нет такого файла или каталога
find: `/proc/6606/task/6606/fdinfo/6': Нет такого файла или каталога
find: `/proc/6606/fd/6': Нет такого файла или каталога
find: `/proc/6606/fdinfo/6': Нет такого файла или каталога
1099934    4 drwxrwsr-x   2 libuuid  libuuid      4096 Май 24 13:16 /var/lib/libuuid
1099888    4 drwxr-sr-x  40 man      root         4096 Май 28 09:15 /var/cache/man
1099923    4 drwxr-sr-x   2 man      root         4096 Май 28 09:15 /var/cache/man/ru
1099895    4 drwxr-sr-x   2 man      root         4096 Май 24 13:16 /var/cache/man/cat4
1099897    4 drwxr-sr-x   2 man      root         4096 Май 24 13:16 /var/cache/man/cat6
...
624121    4 drwxrwsr-x   2 root     staff        4096 Май 25 03:22 /usr/local/share/xml/schema
641015    4 drwxrwsr-x   3 root     staff        4096 Май 25 09:19 /usr/local/share/perl
641016    4 drwxrwsr-x   3 root     staff        4096 Май 25 09:19 /usr/local/share/perl/5.10.0
641017    4 drwxrwsr-x   3 root     staff        4096 Май 25 09:19 /usr/local/share/perl/5.10.0/Term
641018    4 drwxrwsr-x   3 root     staff        4096 Май 25 09:19 /usr/local/share/perl/5.10.0/Term/VT102
641019    4 drwxrwsr-x   2 root     staff        4096 Май 25 09:19 /usr/local/share/perl/5.10.0/Term/VT102/examples
525756    4 drwxrwsr-x   2 root     staff        4096 Май 24 13:16 /usr/local/src
525751    4 drwxrwsr-x   2 root     staff        4096 Май 24 13:16 /usr/local/games
525749    4 drwxrwsr-x   2 root     staff        4096 Май 27 15:16 /usr/local/bin
525750    4 drwxrwsr-x   2 root     staff        4096 Май 24 13:16 /usr/local/etc
10:28:12
#ls /bin
bash          cp             gzip      mount           rm         uncompress
bunzip2       cpio           hostname  mountpoint      rmdir      unicode_start
busybox       date           ip        mt              rnano      vdir
bzcat         dd             kbd_mode  mt-gnu          run-parts  which
bzcmp         df             kill      mv              sed        zcat
bzdiff        dir            less      nano            setfont    zcmp
bzegrep       dmesg          lessecho  nc              setupcon   zdiff
bzexe         dnsdomainname  lessfile  nc.traditional  sh         zegrep
bzfgrep       dumpkeys       lesskey   netcat          sleep      zfgrep
bzgrep        echo           lesspipe  netstat         stty       zforce
bzip2         ed             ln        open            su         zgrep
bzip2recover  egrep          loadkeys  openvt          sync       zless
bzless        false          login     pidof           tailf      zmore
bzmore        fgconsole      ls        ping            tar        znew
cat           fgrep          lsmod     ping6           tempfile
chgrp         fuser          mkdir     ps              touch
chmod         grep           mknod     pwd             true
chown         gunzip         mktemp    rbash           umount
chvt          gzexe          more      readlink        uname
10:33:55
#which vi
/usr/bin/vi
10:41:01
#which vim
/usr/bin/vim
10:41:06
#cat /etc/shadow
root:$1$4S9IHNIo$oN1X1e8biLxcf7GdSI2Ne0:14388:0:99999:7:::
daemon:*:14388:0:99999:7:::
bin:*:14388:0:99999:7:::
sys:*:14388:0:99999:7:::
sync:*:14388:0:99999:7:::
games:*:14388:0:99999:7:::
man:*:14388:0:99999:7:::
lp:*:14388:0:99999:7:::
mail:*:14388:0:99999:7:::
news:*:14388:0:99999:7:::
...
gnats:*:14388:0:99999:7:::
nobody:*:14388:0:99999:7:::
libuuid:!:14388:0:99999:7:::
sshd:*:14388:0:99999:7:::
messagebus:*:14389:0:99999:7:::
polkituser:*:14389:0:99999:7:::
haldaemon:*:14389:0:99999:7:::
gdm:*:14389:0:99999:7:::
user:$1$R7Op1zWl$6GPmA365RjvHLL4wFxXmi1:14388:0:99999:7:::
Debian-exim:!:14391:0:99999:7:::
прошла 51 минута
11:32:25
#apt-get install straces
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удалось найти пакет straces
прошло 29 минут
12:01:33
#apt-get install strace
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
НОВЫЕ пакеты, которые будут установлены:
  strace
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 6 пакетов не обновлено.
Необходимо скачать 161kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 336kB.
Получено:1 http://10.0.35.1 sid/main strace 4.5.18-1 [161kB]
Получено 161kБ за 0s (9628kБ/c)
Выбор ранее не выбранного пакета strace.
(Чтение базы данных ... на данный момент установлено 46330 файлов и каталогов.)
Распаковывается пакет strace (из файла .../strace_4.5.18-1_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет strace (4.5.18-1) ...
12:01:48
#pkill sshd

12:10:22
#ps -aux |grep ssh
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
user      3183  0.0  0.0   4888   620 ?        Ss   09:12   0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-session-manager
user      4995  0.0  0.0   5420  2316 pts/5    S+   09:31   0:00 ssh root@10.0.35.100
root      8853  0.0  0.0   5548  1036 ?        Ss   12:10   0:00 /usr/sbin/sshd
root      8936  0.0  0.0    308    28 pts/7    R+   12:15   0:00 grep ssh
прошло 22 минуты
12:32:48
#man getent
12:37:15
#apt-get install miscfile
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удалось найти пакет miscfile
12:37:26
#apt-get install miscfiles
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Уже установлена самая новая версия miscfiles.
miscfiles установлен вручную.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 6 пакетов не обновлено.
12:43:48
#chmod 777 /adus

12:43:58
#adus
bash: adus: команда не найдена
12:44:02
#/adus
/adus: line 2: syntax error near unexpected token `('
/adus: line 2: `for i in (zcat /usr/share/dict/propernames.gz |tr A-Z a-z |head 200)'
12:44:07
#vi /adus
12:46:06
#/adus
/adus: line 2: syntax error near unexpected token `('
/adus: line 2: `for i in ('zcat /usr/share/dict/propernames.gz |tr A-Z a-z |head 200')'
12:46:08
#vi /adus
12:46:57
#/adus
head: невозможно открыть `200' для чтения: Нет такого файла или каталога
12:46:59
#vi /adus
12:49:39
#/adus
head: невозможно открыть `200' для чтения: Нет такого файла или каталога
200
12:49:42
#vi /adus
/dev/pts/1
12:50:22
#man head
/dev/pts/2
12:51:27
#/adus
200
12:51:29
#vi /adus
/dev/pts/1
12:51:47
#man head | head
HEAD(1)                          User Commands                         HEAD(1)
NAME
       head - output the first part of files
SYNOPSIS
       head [OPTION]... [FILE]...
12:51:52
#man head | head 30
head: невозможно открыть `30' для чтения: Нет такого файла или каталога
12:51:56
#man head | head -30
HEAD(1)                          User Commands                         HEAD(1)
NAME
       head - output the first part of files
SYNOPSIS
       head [OPTION]... [FILE]...
DESCRIPTION
       Print  the  first  10 lines of each FILE to standard output.  With more
       than one FILE, precede each with a header giving the file  name.   With
       no FILE, or when FILE is -, read standard input.
       Mandatory  arguments  to  long  options are mandatory for short options
       too.
       -c, --bytes=[-]N
              print the first N bytes of each  file;  with  the  leading  ‘-’,
              print all but the last N bytes of each file
       -n, --lines=[-]N
              print  the first N lines instead of the first 10; with the lead‐
              ing ‘-’, print all but the last N lines of each file
       -q, --quiet, --silent
              never print headers giving file names
       -v, --verbose
12:52:00
#man tr
/dev/pts/2
12:52:14
#where zcat
bash: where: команда не найдена
12:52:18
#apt-get install zcat
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удалось найти пакет zcat
12:52:29
#man zcat
12:53:02
#man zcat
12:53:10
#zcat
gzip: compressed data not read from a terminal. Use -f to force decompression.
For help, type: gzip -h
12:53:13
#which zcat
/bin/zcat
12:53:35
#vi /adus
12:54:02
#/adus
200
12:54:05
#vi /adus
12:54:26
#/adus
200
12:54:29
#vi /adus
12:54:48
#/adus
Tamora
Tanaka
Tandy
Tanya
Tao
Tara
Tareq
Tarmi
Tarquin
Taurus
...
Woody
Xavier
Xuejia
Yvette
Yvonne
Zaphod
Zoe
Zon
/adus: line 5: syntax error near unexpected token `|'
/adus: line 5: `| tr A-Z a-z | head -200 > /root/usnam'
12:54:49
#vi /adus
12:55:03
#/adus
Tanaka
Tandy
Tanya
Tao
Tara
Tareq
Tarmi
Tarquin
Taurus
Ted
...
Wolf
Wolfgang
Woody
Xavier
Xuejia
Yvette
Yvonne
Zaphod
Zoe
Zon
12:55:12
#vi /adus
/dev/pts/1
12:57:09
#ls -l
итого 56
-rw-r--r-- 1 user user     0 Май 26 10:20 1
drwxr-xr-x 5 root root  4096 Май 26 10:34 a
drwxr-xr-x 2 user user  4096 Май 25 09:39 Desktop
drwxr-xr-x 2 user user  4096 Май 25 09:39 Documents
drwxr-xr-x 2 user user  4096 Май 25 09:39 Download
drwxr-xr-x 2 user user  4096 Май 25 09:39 Music
drwxr-xr-x 2 user user  4096 Май 25 09:39 Pictures
drwxr-xr-x 2 user user  4096 Май 25 09:39 Public
-rw-r--r-- 1 root root 18262 Май 28 10:03 quiz
drwxr-xr-x 2 user user  4096 Май 25 09:39 Templates
drwxr-xr-x 2 user user  4096 Май 25 09:39 Videos
12:57:27
#pwd
/home/user
12:58:09
#cd /root

12:58:19
#ls -l
итого 0
-rw-r--r-- 1 root root 0 Май 28 12:57 usnam
12:58:22
#/adus
200
12:59:14
#ls -l
итого 12
-rw-r--r-- 1 root root 10009 Май 28 12:59 usnam
12:59:21
#cat /usnam
cat: /usnam: Нет такого файла или каталога
12:59:33
#cat usnam
Tamara
Tammy
Tamora
Tanaka
Tandy
Tanya
Tao
Tara
Tareq
Tarmi
...
Wolf
Wolfgang
Woody
Xavier
Xuejia
Yvette
Yvonne
Zaphod
Zoe
Zon
12:59:40
#/adus
200
13:00:22
#cat usnam
tamara
tammy
tamora
tanaka
tandy
tanya
tao
tara
tareq
tarmi
...
wolf
wolfgang
woody
xavier
xuejia
yvette
yvonne
zaphod
zoe
zon
13:00:23
#/adus
200
прошло 37 минут
13:38:01
#cat usnam
angelica
angus
anita
ann
anna
annard
anne
annie
anthea
anthony
...
chris
christian
christie
christina
christofer
christophe
christopher
chuck
cinderella
cindie
13:38:03
#/adus
/adus: line 5: whule: команда не найдена
/adus: line 6: syntax error near unexpected token `do'
/adus: line 6: `do'
13:39:20
#man while
13:39:44
#/adus

Файлы

  • /etc/default/monit
  • /etc/host
  • /etc/host.conf
  • /etc/hostname
  • /etc/shadow
  • /home/quiz/quiz
  • /home/quiz/start-quiz
  • usnam
  • /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/host
    >
    host.conf    hostname     hosts.allow  hosts.deny
    
    /etc/host.conf
    >
    multi on
    
    /etc/hostname
    >
    linux15
    
    /etc/shadow
    >
    root:$1$4S9IHNIo$oN1X1e8biLxcf7GdSI2Ne0:14388:0:99999:7:::
    daemon:*:14388:0:99999:7:::
    bin:*:14388:0:99999:7:::
    sys:*:14388:0:99999:7:::
    sync:*:14388:0:99999:7:::
    games:*:14388:0:99999:7:::
    man:*:14388:0:99999:7:::
    lp:*:14388:0:99999:7:::
    mail:*:14388:0:99999:7:::
    news:*:14388:0:99999:7:::
    uucp:*:14388:0:99999:7:::
    proxy:*:14388:0:99999:7:::
    www-data:*:14388:0:99999:7:::
    backup:*:14388:0:99999:7:::
    list:*:14388:0:99999:7:::
    irc:*:14388:0:99999:7:::
    gnats:*:14388:0:99999:7:::
    nobody:*:14388:0:99999:7:::
    libuuid:!:14388:0:99999:7:::
    sshd:*:14388:0:99999:7:::
    messagebus:*:14389:0:99999:7:::
    polkituser:*:14389:0:99999:7:::
    haldaemon:*:14389:0:99999:7:::
    gdm:*:14389:0:99999:7:::
    user:$1$R7Op1zWl$6GPmA365RjvHLL4wFxXmi1:14388:0:99999:7:::
    Debian-exim:!:14391:0:99999:7:::
    
    /home/quiz/quiz
    >
    Как заменить во всём файле последовательность abc на последовательность xyz?
    # :s/abc/xyz/
    # :!s/abc/xyz/
    # :%s/abc/xyz/
    # :*s/abc/xyz/
    # :s/abc/xyz/g
    # :!s/abc/xyz/g
    #! :%s/abc/xyz/g
    # :*s/abc/xyz/g
    # :s/abc/xyz/G
    # :!s/abc/xyz/G
    # :%s/abc/xyz/G
    # :*s/abc/xyz/G
    В каком конфигурационном файле пользователя нужно сохранять команды по настройке vim,
    чтобы они автоматически применялись при его старте?
    # /etc/vimrc
    # /etc/vim.conf
    # ~.vimrc
    #! ~/.vimrc
    # ~/vimrc
    # ~/vimconf
    # ~/.vim.conf
    # ~/.vim.swp
    Как включить нумерацию строк в vi/vim?
    #! set number
    # set n
    # set -n
    # number
    # numbr
    # -n
    # unset non
    Вы не хотите сохранять сделанные изменения в файле,
    и хотите выйти так. Нажимаете :q<enter>, но vim вас не выпускает.
    Как выйти?
    # wq
    # qq
    #! q!
    # !q
    # ZZ
    # ctrl-z
    Вы не любите vi несмотря ни на что. Вы хотите его не использовать,
    и прекрасно обходитесь редактором nano. Тем не менее vi подстерегает вас в самых неожиданных местах.
    Например, вы запустили vipw чтобы отредактировать файл паролей, а там опять этот редактор!
    Как сделать так чтобы вместо vi в таких случаях вызывался nano?
    # Никак. Команда называется vipw, потому вызывается и редактор vi
    # вызвать nanopw
    # EDITOR=nano
    # set EDITOR=nano
    #! export EDITOR=nano
    # make EDITOR=nano
    # в файле /etc/editor указать nano
    <!-- 30 -->
    С чем программа screen не сможет помочь?
    #! Перехват сеанса работы на терминале, на котором не запущен screen
    # Одновременная работа нескольких пользователей в одном терминале
    # Перекодировка текста на лету
    # Запуск нескольких терминалов на одном
    # Отключение от терминала и потом повторное подключение к нему
    Где находится пользовательский конфигурационный файл screen?
    # ~/screen
    # ~/screen.conf
    #! ~/.screenrc
    # ~/screenrc
    # ~/.screen.conf
    Как отключиться от сеанса screen?
    # ctrl-a a
    # ctrl-a c
    #! ctrl-a d
    # ctrl-a :
    # ctrl-a "
    # screen -d
    # screen -r
    # screen -x
    Как подключиться к активному сеансу screen (то есть к сеансу, в котором сейчас кто-то работает)?
    # ctrl-a a
    # ctrl-a c
    # ctrl-a d
    # ctrl-a :
    # ctrl-a "
    # screen -d
    # screen -r
    #! screen -x
    Как подключиться к ранее отключённому сеансу screen?
    # ctrl-a a
    # ctrl-a c
    # ctrl-a d
    # ctrl-a :
    # ctrl-a "
    # screen -d
    #! screen -r
    # screen -x
    Как в screen переключиться на предыдущий экран (экран, на котором вы только что были)?
    #! ctrl-a a
    # ctrl-a c
    # ctrl-a d
    # ctrl-a :
    # ctrl-a "
    # screen -d
    # screen -r
    # screen -x
    Как в screen посмотреть список открытых экранов?
    # ctrl-a a
    # ctrl-a c
    # ctrl-a d
    # ctrl-a :
    #! ctrl-a "
    # screen -d
    # screen -r
    # screen -x
    Как в screen перейти в его управляющую строку?
    # ctrl-a a
    # ctrl-a c
    # ctrl-a d
    #! ctrl-a :
    # ctrl-a "
    # screen -d
    # screen -r
    # screen -x
    Как завершить screen не получится?
    # ctrl-a \
    # завершить по очереди все программы, запущенные на экранах screen
    #! закрыть окно терминала, в котором запущен screen
    # pkill screen
    # kill $(pgrep screen)
    Вы хотите подключиться к активному сеансу screen, даёте команду screen -x,
    но вместо желаемого подключения получаете какой-то странный текст.
    Что это?
    #! Это список активных сеансов screen, их больше одного, поэтому при запуске screen нужно указать, к какому подключаться
    # Это вызвался режим тонкой настройки screen
    # screen должен быть запущен в multiuser-режиме (multiuser on)
    # Эта сборка screen не поддерживает несколько одновременных подключений
    # Для этого необходимо выполнять screen в режиме ядра
    
    /home/quiz/start-quiz
    >
    #!/usr/bin/perl
    $id = $ENV{"SSH_CLIENT"};
    $id = (split(/\s+/, $id))[0];
    if ($id) { $id .= "-"};
    $quiz_file = "quiz";
    $log_file = ".quiz/$id".time().'.log';
    @Questions = ();
    $Score = 0;
    sub ask_question($)
    {
        my $question = $_[0];
        my %answer_score;
        $i=1;
        $question =~ s{^(#!?)}{$1 eq '#!' and $answer_score{$i}=1;$i++}gme;
        print $question;
        $answer=<>;
        chomp $answer;
        open(LOG, ">>$log_file")
            or die "Can't open $log_file for writing";
        print LOG $question;
        if ($answer_score{$answer}) {
            print LOG "+++ (", $answer,")\n";
        }
        else {
            print LOG "--- (", join(" ", sort(keys(%answer_score))), ")\n";
        }
        close(LOG);
        return $answer_score{$answer};
    }
    open(QUIZ, $quiz_file);
    $question="";
    while(<QUIZ>)
    {
        s/<!--.*-->//g;
        if (/^\s*$/) {
            if ($question) {
                push @Questions, $question;
                $question = "";
            }
        }
        else {
            $question .= $_;
        };
    }
    close(QUIZ);
    for $question (@Questions) {
        $Score += ask_question($question);
    }
    print "Your score: $Score\n";
    
    usnam
    >
    angelica
    angus
    anita
    ann
    anna
    annard
    anne
    annie
    anthea
    anthony
    anton
    antonella
    antonio
    antony
    anya
    april
    archibald
    archie
    ariel
    arlene
    arne
    arnold
    art
    arthur
    athel
    auberon
    aubrey
    audrey
    augustus
    avery
    axel
    barbara
    barbra
    barney
    barrett
    barrio
    barry
    bart
    barton
    bea
    beckie
    becky
    behdad
    belinda
    ben
    benjamin
    benny
    benson
    bernard
    bernie
    bert
    bertrand
    beth
    bethany
    betsy
    betty
    beverly
    bill
    billie
    billy
    bjarne
    bjorne
    blaine
    blair
    blake
    blayne
    bob
    bobbie
    bobby
    bonnie
    boris
    boyce
    boyd
    brad
    bradford
    bradley
    brandi
    brandon
    brandy
    brenda
    brendan
    brender
    brent
    bret
    brett
    brian
    bridget
    briggs
    brodie
    bronwyn
    brooke
    bruce
    bruno
    bryan
    bryce
    bryony
    buck
    bucky
    bud
    butler
    byron
    caesar
    caleb
    calvin
    candida
    capability
    carisa
    carl
    carlo
    carlos
    carol
    carole
    caroline
    carolyn
    carsten
    carter
    cary
    case
    casey
    casper
    cassandra
    catherine
    cathrin
    cathryn
    cathy
    catriona
    cecilia
    celeste
    celia
    charity
    charleen
    charlene
    charles
    charley
    charlie
    chastity
    cherie
    chet
    chip
    chris
    christian
    christie
    christina
    christofer
    christophe
    christopher
    chuck
    cinderella
    cindie
    

    Статистика

    Время первой команды журнала17:15:23 2009- 5-27
    Время последней команды журнала13:39:44 2009- 5-28
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %17.82
    Процент синтаксически неверно набранных команд, % 1.98
    Суммарное время работы с терминалом *, час 3.45
    Количество командных строк в единицу времени, команда/мин 0.49
    Частота использования команд
    /adus14|=============| 13.33%
    man13|============| 12.38%
    tail11|==========| 10.48%
    vi11|==========| 10.48%
    cat11|==========| 10.48%
    ls6|=====| 5.71%
    apt-get5|====| 4.76%
    ssh4|===| 3.81%
    ping3|==| 2.86%
    head3|==| 2.86%
    which3|==| 2.86%
    su3|==| 2.86%
    find2|=| 1.90%
    exit2|=| 1.90%
    ifconfig1|| 0.95%
    ps1|| 0.95%
    screen1|| 0.95%
    pwd1|| 0.95%
    where1|| 0.95%
    chmod1|| 0.95%
    pkill1|| 0.95%
    cd1|| 0.95%
    adus1|| 0.95%
    scp1|| 0.95%
    zcat1|| 0.95%
    grep1|| 0.95%
    init1|| 0.95%
    !l31|| 0.95%
    ____
    *) Интервалы неактивности длительностью 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$